![]() プロセッサを内部メモリに接続するクロスバー・スイッチを含むフラッシュメモリ用ストレージコントローラ
专利摘要:
フラッシュメモリの様々な技術的問題を解決する。フラッシュメモリ・ストレージ・モジュールが用いるために作られたコントローラであって、複数の内部プロセッサと複数の内部メモリを含む様々な内部リソースとを接続するように設計されたクロスバー・スイッチを含む、該コントローラが提供される。メモリには、プロセッサのためのワークリストが含まれる。一実施形態では、複数のプロセッサは、クロスバー・スイッチを用いて別のプロセッサと通信し、別のプロセッサのワークリストにタスクを置く。 公开号:JP2011508349A 申请号:JP2010540863 申请日:2008-12-23 公开日:2011-03-10 发明作者:オルブリッチ、アーロン;プリンス、ダグラス 申请人:プライアント テクノロジー インコーポレイテッド; IPC主号:G06F3-08
专利说明:
[0001] 関連出願の相互参照] [0002] 本願は、米国仮特許出願第61/017,123号及び米国特許出願第12/082,207号に基づく優先権を主張し、これらの開示は、引用を以て本明細書の一部となす。] [0003] 本願はまた、米国特許出願第12/082,202号、米国特許出願第12/082,205号、米国特許出願第12/082,221号、米国特許出願第12/082,220号、米国特許出願第12/082,206号、米国特許出願第12/082,204号、米国特許出願第12/082,223号、米国特許出願第12/082,222号、米国特許出願第12/082,203号にも関連し、これらの開示は、引用を以て本明細書の一部となす。] [0004] 技術分野] [0005] 本発明は、データストレージの分野に関し、より詳細には、ソリッドステート不揮発性メモリデバイスを用いたデータストレージ・アプリケーションに関する。この技術は、大規模データセンタに配備されるストレージ・プラットフォーム及びマルチユーザ・コンピューティングを伴う高性能エンタープライズシステムと特定の関係があるが、より小規模のエンタープライズ・アプリケーションにも、エンドユーザのマス・ストレージにも適用可能である。] 背景技術 [0006] 現在のエンタープライズレベルのマス・ストレージは、典型的には3.5インチ・フォーム・ファクタによって特徴付けられるハードドライブ、15,000rpmスピンドル・モータ及び73GBないし450GBのストレージ容量に依存している。機械設計は、8つの表面を横切って移動する1つのアクチュエータ及び8つの読出し/書込みヘッドを備えた伝統的なハードドライブと同じである。ヘッド/メディア技術の制約は、読出し/書込み容量を一度に唯1つのアクティブ・ヘッドに制限する。ドライブに送信される全てのデータ要求は連続して処理されるが、各動作間には、アクチュエータが読出し/書込みヘッドを所要の位置に動かし、メディアが回転して読出し/書込みヘッドの下にデータを置くので、長い遅延時間がある。] [0007] アクチュエータの待ち要求のキューの結果として、システムは、ユーザが我慢できなくなる時点まで増加する応答時間を確かめる。マス・ストレージ・システムは、各ドライブへの未処理の要求の数を制限することによってこの問題に適合している。これは、各ドライブの有効かつ使用可能な容量を、最大450GB容量が利用可能であるとしても、1ドライブ当たり12GBにまで低下させる効果を有する。容量の低下は、今度は、所要床面積、冷却及び出力の問題を悪化させ、これらの問題は全て、エンタープライズレベルのマス・ストレージ・システムにとって極めて厄介なものになった。] [0008] これらの問題を取り除くために、業界は2.5インチのドライブへと向かっている。しかし、フォーム・ファクタが小さくなればなるほど同じ空間内により多くのドライブを収容できるとはいえ、ハードドライブ動作のシリアル特性は、より小さなフォーム・ファクタ・ドライブですら深刻な所要床面積、冷却及び出力の問題を呈することを意味する。] [0009] フラッシュメモリは、エンタープライズのマス・ストレージ環境で魅力的である。というのも、フラッシュメモリ・システムは、ハードドライブと関連付けられている機械的な遅延がなく、それによって、より高い性能及びそれ相応の低いコスト、出力、加熱及び所要床面積の使用を可能にするからである。それにも拘わらず、フラッシュメモリは、特定の技術的制約のせいで、昔からそのような環境において用いられてはいなかった。] [0010] 第1の技術的問題は書込み速度であり、それはメカニカル・ハードドライブの書込み速度の10分の1の遅さであり得る。これは、データは書込み前に長い消去サイクルなしにはNANDフラッシュデバイス上で上書きされることができないという事実に起因する。消去サイクルは書込み性能に直接影響するので、大部分のフラッシュ構造は、書込みデータを新しい位置に移動させ、消去を後になるまで遅延させる。ビジー・システムでは、遅延された消去サイクルが蓄積し、ついには、プロセッサが空きフラッシュ・ページを使い果たして新しいフラッシュ・ページを生成するために停止しなければならなくなり、それによってシステム性能に大きな影響を及ぼすことがある。] [0011] 第2の技術的問題は、シングル・レベル・セル(「SLC」)デバイスには100,000消去サイクル、マルチ・レベル・セル(「MLC」)デバイスには10,000サイクルの各フラッシュメモリ・ページの指定限界である。これらは、結果としてメモリの特定の非常によく使われる領域が大量に消去されることになるような「ホットスポット」を生じ得る予測不可能なデータ・ストリームで動作するデータセンタに関する特定の問題を課す。] [0012] 第3の問題はデータ損失であり、これは、読出しディスターブまたはプログラム・ディスターブを含むフラッシュメモリに影響を及ぼす様々な要因によって起こり得ることであり、これらのディスターブは、ディスターブ・セルに隣接するメモリセルの読出しまたは書込みによって生じるデータビットの損失につながる。フラッシュメモリセルの状態はまた、時間の経過の結果として予測不可能に変化し得る。] 先行技術 [0013] 米国仮特許出願第60/990,601号明細書 米国非仮特許出願第12/323,219号明細書(米国特許出願公開第20090135245号公報) 米国特許出願第11/624,209号明細書 米国仮特許出願第61/052,180号明細書 米国特許出願第11/533,304号明細書 米国特許第5,604,531号明細書] 発明が解決しようとする課題 [0014] これらの技術的問題は、高容量高性能ストレージ・アプリケーションにおけるフラッシュメモリの使用に深刻な問題を生じさせる。いずれの場合にも、技術的解決策が存在するが、そのような解決策は、一般的には1つのプロセッサを含む標準フラッシュメモリ・コントローラにおいて利用可能な処理能力にかなりの負担をかける。そのような負担は、これらの環境においてこれらの技術的問題を克服することを困難にする。] 課題を解決するための手段 [0015] 一実施形態では、記載されているフラッシュメモリの性能制限に対する解決策には、コントローラ・デザインにおいて複数のマイクロプロセッサを用い、それによって、各パイプラインが1つのトランザクションの一部を処理することができるような複数のパラレルな独立したパイプラインを生成することが含まれる。このデザインは、ホスト及びフラッシュ・インタフェースの使用を最大にし、個々のトランザクションが多数の小部分に分割されることを可能にし、小部分は、性能を向上させるために並べ替えられてパラレル処理されることができる。アーキテクチャは、複数のプロセッサが、高コストで非効率的なインタラプトを用いることなく機能を実行することができるように設計される。] [0016] パラレル・パイプラインを用いることで、コントローラは、フラッシュメモリの使用につきものの書込みレイテンシーを効率的に隠すことができる。加えて、複数の独立したプロセッサを用いることで、上記した耐久性及びエラーの問題に対する解決策がもたらすオーバーヘッドを処理するための十分な処理能力が提供される。ホストが開始するトランザクションを多数の独立したフラッシュ読出し及び書込みに分けることによって、本明細書に記載のコントローラ・アーキテクチャは、従来のコントローラ・デザインでは不可能であった高水準の性能を可能にする。] 図面の簡単な説明 [0017] SSD(「ソリッドステート・ドライブ」)コントローラ及びフラッシュメモリを含むシステムを示す。 ホストコマンドをフラッシュ読出し及び書込みに翻訳するために用いられるデータ構造の階層を示す。 図1のシステムをより詳細に示す。 ホスト読出し動作を概略的に示す。 ホスト書込み動作を概略的に示す。 フラッシュメモリの構成を示す。 フラッシュメモリ・グループとフラッシュ・ポートの関係を示す。 フラッシュメモリデバイスへの入出力信号を示す。 フラッシュHEMiブロックへの入出力信号を示す。 フラッシュ・ポートとフラッシュメモリ・バンク間の接続を示す。 1本のピン上へのCS及びRB信号の多重化を示す。 フラッシュメモリ階層を示す。 SPageセクタの構成を示す。 フラッシュ・ページの構成を示す。 スーパーブロック内のデータの構成を示す。 データのストライプ構成を示す。 ホスト・ポートを通るデータフロー及び制御フローを示す。 ホスト・ポートを示す。 プリミティブ・マッチ・ロジックを示す。 コマンドパーサ・ブロックを示す。 コマンド配布ブロックを示す。 クロスバー・スイッチを介しての複数のHEMiと共有RAMデータ構造間の接続を示す。 RAMコントローラを示す。 共有RAMコントローラと共有RAMバンクの関係を示す。 DRAMチャネルを示す。 HEMiステージを示す。 フラッシュHEMi及びその密結合ロジック・ブロックを示す。 受信HEMi及び送信HEMi固有レジスタを示す。 フラッシュHEMi mRAMの内容を示す。 共有RAMからのデータブロックの転送を示す。 ECCロジックを示す。 データパスDRAMの内容を示す。 フォワード・テーブルを示す。 リバース・テーブルを示す。 スーパーブロック・メタデータ・テーブルを示す。 IOPデータバッファを示す。 CDB情報を示す。 IOPを示す。 転送要求を示す。 ページ要求を示す。 共有RAMブロックの内容を示す。 イニシエータ情報を示す。 SLCフラッシュ書込みタイミングを示す。 MLCフラッシュ書込みタイミングを示す。 ホストコマンドが受信されたときにホスト・ポートがたどるステップを示す。 ホストコマンドが受信されたときにホスト・ポートがたどるステップを示す。 CDBの処理の初期段階を示す。 CDBの処理の初期段階を示す。 特別な場合のCDB処理を示す。 CDB情報に基づいてIOP及び転送要求が作成される方法を示す。 CDB情報に基づいてIOP及び転送要求が作成される方法を示す。 CDB情報に基づいてIOP及び転送要求が作成される方法を示す。 CDB情報に基づいてIOP及び転送要求が作成される方法を示す。 フラッシュHEMiがページ要求を作成する方法を示す。 フラッシュHEMiがページ要求を作成する方法を示す。 フラッシュHEMi実行ループを示す。 フラッシュHEMi実行ループを示す。 ページ要求の読出しハンドラを示す。 ページ要求の読出しハンドラを示す。 フラッシュ読出し動作を詳細に示す。 フラッシュ読出し動作を詳細に示す。 ページ要求の書込みハンドラの実行を示す。 ページ要求の書込みハンドラの実行を示す。 ページ要求へのスーパーページの割り当てを示す。 完了したトランザクションのクリーンアップを示す。 ガベージ・コレクション・プロセスを示す。 パトロール機能プロセスを示す。 復元プロセスを示す。 復元プロセスを示す。 復元プロセスを示す。 復元プロセスを示す。] 図1 実施例 [0018] I.概要] [0019] A.システムの概要] [0020] 好適実施形態では、本明細書に記載のシステムは、SAS(「シリアル・アッタチドSCSI」)、FC(「ファイバーチャネル」)及びFC−AL(これらは全て小型コンピュータシステム・インタフェース(「SCSI」)に基づく)、並びにシリアルATA(「SATA」)プロトコルを含む様々なエンタープライズレベルのマス・ストレージ・プロトコルで動作するように設計されている。これらのプロトコルは、当業者によく知られており、本明細書では詳しく説明しない。特定のプロトコルが呼び出される場合を除いて、本明細書に開示されているシステム及び方法は、用いられる特定のプロトコルに依存せず、それら全てを正確に作動させるように設計されている。さらに、これらのシステム及び方法は、エンタープライズレベルのアプリケーションのために設計されたプロトコル及びエンドユーザなどの他のアプリケーションのために設計されたプロトコルを含む、他の同様な、現在使用中であるかまたは未だ開発されていないプロトコルとの併用に適していることがある。] [0021] 便宜上、本明細書において関連するプロトコルは、しばしば集合的に「SCSIプロトコル」と呼ばれるが、これは非SCSIプロトコルを含み、関連性のないSCSIプロトコルを含まないことを理解されたい。] [0022] 本明細書に記載のシステムは、複数のフラッシュメモリチップからなるマス・ストレージ・モジュールを制御するための新規なアーキテクチャを含む。図1に、大まかな概要としてシステム全体が示されている。本明細書の他のブロック図と同様に、図1に示す構成要素は実際には概念的なものであり、機能ブロック間の相互関係の特性を示し、実際の物理回路レベルの実装を表すことを意図するものではない。] 図1 [0023] ホスト101及び102は、従来のホスト・デバイスであり、例えば、マス・ストレージ・リソースを用いる2つのサーバ、または1つのそのようなサーバのために働く2つのホスト・バス・アダプタである。特定のプロトコルでは、各ホストは複数のイニシエータをサポートし得る。SCSIベースのシステムでは、イニシエータは、データ転送のためのホスト側エンドポイントであり、別々の物理的デバイスまたはプロセスを構成し得る。] [0024] 基板103(破線で表す)は、1若しくは複数のPCBを表す。基板103は、例えば、1つのPCB基板、またはマザー−ドーター形態で互いに接続された複数の基板で構成されることができる。好適実施形態では、基板103は、ホスト101及び102側から見て基板103が従来の回転ディスク・マス・ストレージ・デバイスを構成するように見えるように、設計される。これは、ホスト・ポート104及び105が、ホスト101及び102のために設計された従来のマス・ストレージ・インタフェースと物理的かつ論理的に区別できないように設計されることを必要とする。それゆえ、好適実施形態では、基板103の使用は、ホスト101または102の再設計を必要としない。] [0025] 好適実施形態では、SSDコントローラ106は、基板103に取り付けられかつ200MHzで作動する1つの集積回路デバイスを表す。代替実施形態では、SSDコントローラ106は、本明細書に記載の発明の原理から逸脱することなく、2つ以上の集積回路デバイスで構成されることができる。クロック速度は、当然のことながら、インプリメント選択を代表するものであり、インプリメントによって異なる。] [0026] 好適実施形態では、データパスDRAM107は、アイダホ州ボイジーのマイクロン・テクノロジー社(Micron Technology, Inc.)がMT47H16M16BC−5Eという商品名で販売しているクロック速度200MHzの64ビット幅の256MbyteのDDR SDRAMである。これは、2つの64ビット転送(1サイクル当たり)からなる、1サイクル当たり128ビットの実効データ転送速度を提供する。簡単にするために、本明細書ではこれを128ビットのインタフェースとして説明する。このデバイスは、全ての転送に関してECCを自動的にチェックする。より大きな総ストレージ容量を含む代替実施形態では、512MbyteDDR SDRAMであるマイクロンMT47H32M16CC−5Eに置き換えることができる。DRAM以外のメモリのタイプの使用を含めてデータパスDRAMに対する多くの異なる選択肢が利用可能であり、本明細書で特定されている特定の製品は、本明細書で開示されている発明に不可欠なものではないことを理解されたい。図1に示すように、データパスDRAM107は、SSDコントローラ106と通信するが、システム内の任意の他の構成要素とは直結していない。] 図1 [0027] フラッシュメモリ・モジュール108は、フラッシュメモリチップの数を表す。好適実施形態では、フラッシュメモリ・モジュール108は、192個の2ギガバイトのNANDフラッシュチップからなり、各フラッシュチップは40MHzで作動する。後述するように、この構造は、300ギガバイトのユーザ・データ容量を提供する。上記のシステムは、より大きいかまたはより小さい総容量で、2ギガバイトより多いかまたは少ない容量を有するフラッシュメモリチップ及び好適実施形態よりも高速または低速で作動するフラッシュメモリチップとともに作動することができることを理解されたい。さらには、フラッシュメモリ・モジュール108を、スタックされた複数の「ドーターボード」で構成することもできる。] [0028] フラッシュメモリ・モジュール108は、SSDコントローラ106と通信するが、システム内の他の構成要素とは関わりがない。] [0029] 図1に示すように、SSDコントローラ106は中心の位置を占める。というのも、その理由は、SSDコントローラ106はシステム内の全ての他の構成要素と通信し、他の構成要素同士は通信しないからである。基板103の一部として示されている各構成要素の構造及び動作については後述する。] 図1 [0030] B.データ構造の概要] [0031] SSDコントローラ106は、ホストからのコマンドを受け取り、それらのコマンドをより小さなタスクに分けて使用する。より小さなタスクは、最終的にはフラッシュメモリ・モジュール108内の一連の読出し及び書込みとなる。図2は、このプロセスを概略的に示す。] 図2 [0032] SSDコントローラ106は、ホストが開始する読出しまたは書込みコマンドを受信するとき、「CDB情報」(例えばCDB情報201)として知られているデータ構造を生成し、CDB情報には、ホストからのコマンド・ディスクリプタ・ブロック(「CDB」)または他の対応するコマンド関連情報が含まれている。いくつかある情報の中で特に、CDB情報は、ロジック・ブロック・アドレス(「LBA」)において読み出されるかまたは書き込まれるアドレス範囲を指定する。] [0033] CDB情報に基づき、SSDコントローラ106は「入出力処理(Input-Output Process)」(「IOP」)(例えばIOP202)として知られているデータ構造を生成する。ほとんどの状況下で、1つのIOPが、ホストによって要求される全トランザクションを制御する。] [0034] 各IOPは、「転送要求」として知られている最大7つのデータ構造(例えば転送要求203〜209)を呼び出すことができる。各転送要求は、IOPによって指定されるLBA範囲の一部を処理するように設計されている。] [0035] 各転送要求は、「ページ要求」として知られている最大3つのデータ構造を呼び出すことができる(例えば、転送要求206によって呼び出されるページ要求210、211及び212。他の転送要求によって呼び出されるページ要求は図2には図示せず)。各ページ要求は、転送要求によって指定されるLBA範囲の一部に対応するフラッシュメモリ・モジュール108のセグメントから読み出すかまたは書き込むように設計されている。] 図2 [0036] 図2に示すように、例としての3つのページ要求は各々、「スーパーページ(SuperPage)」として知られているフラッシュメモリ・モジュール108の領域(例えばスーパーページ213、214及び215)にアクセスする。さらに後述するように、各スーパーページは4つのフラッシュ・ページから構成され、その各々は互いに異なるフラッシュ・ダイにストアされている。] 図2 [0037] これらのデータ構造については、以下に詳細に説明する。] [0038] C.詳細なシステムの概要] [0039] 図3は、図1に示したシステム全体のデザインのさらなる詳細を提供するが、前述同様に、明瞭になるように、多くの構成要素及び詳細が省略されている。図3は、基板103に接続されたホスト101及び102を示し、基板103には、SSDコントローラ106、データパスDRAM107及びフラッシュメモリ・モジュール108が含まれている。] 図1 図3 [0040] フラッシュメモリ・モジュール108は、8つのフラッシュ・グループに分けられ、フラッシュ・グループ0〜7で表されている。そのうちの3つ、すなわちフラッシュ・グループ0、1及び7が図に示されており、301、302及び303で表されている。好適実施形態では、フラッシュメモリ・モジュール108は、8ないし12のフラッシュ・グループを保持することができる。] [0041] SSDコントローラ106には、メモリ・モジュール108に含まれるフラッシュ・グループの数に等しい数のフラッシュ・ポート、例えばフラッシュ・ポート304、305及び306も含まれている。各フラッシュ・ポートは、1つのフラッシュ・グループと通信する(例えば、フラッシュ・ポート0 304は、フラッシュ・グループ0 301と通信する)。フラッシュ・グループと同様に、好適実施形態では、SSDコントローラ106は、最小で8、最大で12のフラッシュ・ポートを有することができ、図の実施形態には8つのフラッシュ・ポートが含まれ、そのうちの3つが示されている。後述するように、各フラッシュ・ポートは、独立して作動し、それによって、フラッシュ・グループにおけるパラレル動作をサポートする。] [0042] 各フラッシュ・ポートは、フラッシュHEMi及びステージバッファ(Stage Buffer)を含む(例えば、フラッシュ・ポート0 304は、フラッシュHEMi0 307及びフラッシュ・ステージバッファ0 308を含む)。「HEMi」は、ハードウェア実行マシン(Hardware Execution Machine)の略である。HEMi群は、複数の専用(特殊目的)マイクロプロセッサとして作動する複数のロジック・ブロックである。HEMi群の構造及び機能については、以下に詳細に説明する。各フラッシュHEMiは、1つのフラッシュ・グループに対する転送動作を制御する(例えば、フラッシュHEMi0 307はフラッシュ・グループ0 301を制御し、フラッシュHEMi1 309はフラッシュ・グループ1 302を制御する)。] [0043] データパスDRAM107とフラッシュ・グループ間のデータ転送をバッファリングするために、フラッシュ・ステージバッファ(例えばフラッシュ・ステージバッファ0 308)が用いられる。好適実施形態では、各フラッシュ・ステージバッファは、同時に1つの読出し及び1つの書込みを処理することができるデュアルポートSRAMであり、4つのフラッシュ・ページを表す16Kbyteのデータを保持することができる。後述するように、これはデータの「スーパーページ」を構成する。] [0044] 後述するように、好適実施形態では、各フラッシュ・グループからのデータ・インタフェースは、1回に32ビット(1ダブルワード)送信することができるが、データパスDRAM107は、1回に128ビットのデータを送受信することができる(上記したように、この実施形態では、データパスDRAMはデータを64ビットのチャンクで送受信するが、各クロックでそうすることによって、128ビットの有効データ・レートを提供する)。] [0045] フラッシュ・ステージバッファは、フラッシュ・グループとデータパスDRAM間の通信をバッファリングし、その結果、DRAMの一部に関して待ち状態を要求することなく転送を行わせることができる。好適実施形態では、フラッシュ・グループからDRAMへの送信の場合、フラッシュ・ステージバッファは、ダブルワード・チャンクでデータを受け取る。十分な量のデータ(好適にはスーパーページ全体)が受信されたら、フラッシュ・ステージバッファは、データパスDRAMデータバス全体を用いるDMA転送でデータパスDRAMにデータをバースト転送する。フラッシュ・ステージバッファは、DRAMとのDMA伝送を処理するDMAロジックによって制御される(後述する図10の説明を参照)。] 図10 [0046] 図3に示すように、ホスト101及び102は、ホスト・インタフェース310と通信し、ホスト・インタフェース310は、ホスト・ポート104及び105(図示せず)を含むことを理解されたい。一般に、ホストは、コマンドを発行し、マス・ストレージに書き込まれるデータを供給し、マス・ストレージからデータを要求する。当業者には明らかなように、ホストがマス・ストレージと通信する方法の詳細は、プロトコル依存である。しかし、典型的には(かつ制限なく)、ホストは、コマンド及び/またはデータを含む「フレーム」を用いてマス・ストレージと通信する。典型的には、コマンドは、コマンド・ディスクリプタ・ブロック(「CDB」)に含まれ、それについては当業者によく知られている。] 図3 [0047] ホスト・インタフェース310は、ホストに見えるようにしてCDBに応答するように設計されるが、これは、ホスト101側から見てホスト・インタフェース310は従来のマス・ストレージ・デバイスへのインタフェースを構成するように見えることを意味する。] [0048] 制御フローは、次のように進む(言及されている各ロジック・ブロック及びメタデータ構造については詳細に後述する):読出しまたは書込みを要求するCDBを受信すると、ホスト・インタフェース310は、動作を処理するCDB情報(例えばCDB情報201)を生成する。当該CDB情報は、その後、コマンドパーサ・ブロック311に伝えられる。] [0049] CDB情報を受信すると、コマンドパーサ・ブロック311は、後述するコヒーレンシ及び他の種類のチェックを行い、その後、CDB情報をコマンド配布ブロック312に伝える。] [0050] コマンド配布ブロック312は、CDB情報を評価し、IOP(例えばIOP202)を生成して、要求された転送を実行する。コマンド配布ブロック312は、その後、1若しくは複数の転送要求(例えば転送要求203〜209)を生成し、各転送要求は、IOPによって求められる転送の一部を実行する。各転送要求に対して、コマンド配布ブロック312は、その後、どのフラッシュ・グループが読み出されるデータまたは書き込まれるアドレス位置を含むかを判定する。] [0051] コマンド配布ブロック312は、その後、関連フラッシュメモリ・アドレスを含むフラッシュ・グループに対応するフラッシュ・ポート、例えば、フラッシュ・ポート0 304、フラッシュ・ポート1 305及びフラッシュ・ポート7 306に転送要求を伝える。] [0052] フラッシュ・ポートがコマンド配布ブロック312から転送要求を受信するとき、当該フラッシュ・ポートのためのフラッシュHEMiは、転送要求をページ要求(例えば、ページ要求210、211及び212)に分け、ページ要求を用いて関連付けられたフラッシュ・グループにおける実際の読出し及び書込み動作を制御し、各ページ要求は、最大でデータのスーパーページまでアクセスする。] [0053] 図3のフラッシュ・グループ0内の読出しまたは書込み動作の制御フローは、それゆえ、次のように進む。ホスト101→ホスト・インタフェース310→コマンドパーサ・ブロック311→コマンド配布ブロック312→フラッシュHEMi0 307→フラッシュ・グループ0 301。] 図3 [0054] データフローは、それとは異なって進む。読出しの場合、データは、フラッシュ・グループによって、接続されたフラッシュ・ポート内に含まれるフラッシュ・ステージバッファに戻される。例えば、フラッシュ・ステージバッファ0 308はフラッシュ・グループ0 301に接続され、フラッシュ・ステージバッファ1 314はフラッシュ・グループ1 302に接続され、フラッシュ・ステージバッファ7 315はフラッシュ・グループ7 303に接続されている。] [0055] フラッシュ・ステージバッファからは、フラッシュ・グループから得られたデータが、バス316を介してデータパスDRAM107に書き込まれる。データパスDRAM107からデータはホスト・インタフェース310を通過してホスト101に移動する。書込み動作は、逆方向に進む。ホスト101→ホスト・インタフェース310→データパスDRAM107→フラッシュ・ステージバッファ0 308→フラッシュ・グループ0 301。制御フローとデータフローが異なる経路を辿るという事実は、図3の様々な構成要素を結び付けるラインによって説明される。それゆえ、フラッシュHEMi群をフラッシュ・グループと結び付ける矢印は、これらの構成要素間の制御フローを象徴的に示すが、フラッシュ・グループをステージバッファと結び付ける矢印は、データフローを示す。] 図3 [0056] 図3はまた、SRAMコントローラ317及び共有RAMブロック318を示し、これらについてはそれぞれより詳細に後述する。一般に、共有RAMブロック318は、HEMi群によって用いられるメモリを含み、DRAMコントローラ317は、データパスDRAM107及び共有RAMブロック318を制御しかつそれら両リソースへのアクセスを調停するロジックを含む。] 図3 [0057] D.読出し及び書込みの概要] [0058] 図4は、SSDコントローラ106によって処理される読出し動作の大まかなデータフローを示す。] 図4 [0059] ステップ401では、ホスト(例えばホスト101)が、データのLBAを含む読出しコマンドを発行する。] [0060] ステップ402で、SSDコントローラ106が、フラッシュメモリ・モジュール108内の要求されたLBAの位置を識別し、1若しくは複数の読出しコマンドをフラッシュメモリ・モジュールに発行する。] [0061] ステップ403で、フラッシュメモリ・モジュール108は、読出し動作を行い、データをSSDコントローラ106に戻す。] [0062] ステップ404で、戻されたデータは、SSDコントローラ106を通ってデータパスDRAM107にストアされる。] [0063] ステップ405で、ホスト101によって要求されたデータが全て得られたか否かを判定するためのチェックが行われる。否であれば(ステップ405の結果が「no」)、追加のデータがフラッシュメモリモジュールから得られ、データパスDRAMにストアされるようにステップ403に制御を返す。] [0064] ホストによって要求された全てのデータがフラッシュメモリ・モジュールから得られ、データパスDRAMにストアされたら(ステップ405の結果が「yes」)、ステップ406で、データはデータパスDRAM107から読み出され、SSDコントローラ106に送られる。] [0065] ステップ407で、データはSSDコントローラ106からホスト101へ送信され、ホスト101による読出し動作が終了する。] [0066] 図4は、大まかな概念的ステップを用いて読出し動作について説明していることを理解されたい。その詳細は、以下で説明する。] 図4 [0067] 図5は、同様の大まかな概念的ステップを用いて書込み動作を説明しており、ここで、ホスト101は、メモリにデータをストアしようとしている。] 図5 [0068] ステップ501では、ホスト101が、LBAを有する書込みコマンドを発行し、SSDコントローラ106にデータを提供する。] [0069] ステップ502で、SSDコントローラ106が、データパスDRAM107に書き込まれるデータをストアする。] [0070] ステップ503で、SSDコントローラ106は、フラッシュメモリ・モジュール108内のLBAの位置を識別する。] [0071] ステップ504で、SSDコントローラ106は、LBAを含むスーパーページを読み出すのに十分なフラッシュメモリ・モジュール108への読出しコマンドを発行する。この読出しコマンドは、データをDRAMにストアせず、従って図4のステップ403から開始してステップ405まで、ステップ404をスキップして、全てのデータが受信されるまでこれら2つのステップをループする。] 図4 [0072] ステップ505で、データパスDRAM107からのデータは、コントローラに転送され、フラッシュメモリ・モジュールから読み出されたデータと統合される。この統合の結果、コントローラが現在保持するスーパーページにおいて、当該LBAにストアされた古いデータが新しいデータによって上書きされたが、スーパーページ内の他の全てのLBAは不変である。] [0073] ステップ506で、SSDコントローラ106はフラッシュメモリ・モジュール108へ書込みコマンドを発行する。] [0074] ステップ507で、フラッシュメモリ・モジュール108は、書込み動作を行う。] [0075] ステップ508で、全ての情報がフラッシュメモリ・モジュール108に書き込まれたか否かを判定するためのチェックが行われる。] [0076] 追加の書込み動作が必要であれば(ステップ508の結果が「no」)、ステップ507に制御を返す。] [0077] 全てのデータがフラッシュメモリ・モジュール108に書き込まれたら(ステップ508の結果が「yes」)、ステップ509で、SSDコントローラ106は、書き込まれたLBAのための位置情報を更新する。詳細に後述するように、フラッシュメモリの性質のため、書込み動作は、既存のスーパーページを物理的に上書きしないが、その代わりに更新されたスーパーページをフラッシュメモリ・モジュール108内の新しい位置に書込み、それによって、当該スーパーページ内にストアされているLBAに関連付けられたアドレス翻訳情報の更新を要求する。] [0078] ここで、書込み動作は完了する。] [0079] II.フラッシュメモリ・アーキテクチャ] [0080] A.物理メモリ・アーキテクチャ] [0081] 図6は、1つのフラッシュ・グループ(例えばフラッシュ・グループ0 301)の構成及び、該グループとそれに関連するフラッシュ・ポート(例えばフラッシュ・ポート0 304)との関係を示す。この構成の細部は、異なる各実施形態において異なり得ることを理解すべきである。] 図6 [0082] フラッシュ・グループ301は、601〜608で示される8つのフラッシュチップからなる。各フラッシュチップは2つのダイを含み、例えばフラッシュチップ601はダイ609及び610を含む。] [0083] 一実施形態では、各ダイ(例えばダイ609)は、8224個のブロックからなる約1.11ギガバイトの使用可能な容量を有する。各ブロックは64ページから構成され、各ページは2212バイトからなる。システム及びスペアメモリスペースが減算された場合、1つのダイあたり約1ギガバイトまたは1つのNANDフラッシュチップあたり2ギガバイトのユーザデータ容量が残される。12のフラッシュ・グループを含み、1つのフラッシュ・グループあたり8つのバンクをを含んでいるシステムでは、約384ギガバイトの使用可能なユーザ・メモリスペースが提供されるが、幾つかのスペースは予備に当てられ、LBAアドレス・スペースに含まれないシステム機能がユーザに利用可能になるので、ユーザ・データのために使用可能なスペースの合計は約300ギガバイトである。システムスペースは、SCSIモードぺージなどの様々なタイプのシステム・メタデータをストアし、空きスペースも含む。] [0084] 各々2つの1ギガバイトのダイを含んでいる2ギガバイトのNANDフラッシュチップの使用は、最新の利用可能なフラッシュメモリ技術を反映するものである。このシステムは、1つのフラッシュメモリチップに4つのダイが含まれるかまたは1つのチップあたり1つのダイが含まれるような他のフラッシュメモリ・サイズ及び構成においても同様に良好に動作することができる。次世代型のNANDフラッシュチップは1つのチップあたり4つのダイが組み込まれることとなるので、フラッシュ・グループ301はそのように構成することとする。本明細書で説明する原理は、4つのダイを含むチップに容易に適用可能である。例えば、4つのダイを含むチップにおける各ダイがそれ自体のCE及びRBピンを有する場合、4つのダイ全ては共通のアドレス/コマンド/データピンを共有するが、各ダイは別個のバンクに組み込まれる。他方では、4つのダイを含むチップの各々が2つのCE及びRBピンを有し、2つのダイが各ピンを共有する場合、SSDコントローラ106からは、共通のCS及びRBピンを共有する2つのダイを、上述した単一のダイ(例えばダイ609)と区別することができないであろう。] [0085] 現在の好適な実施形態はまた、各々2つの0.5ギガバイトのダイを含んでいる1ギガバイトのNANDフラッシュチップにおいても同様に良好に動作することができる。この構成では、1つのダイあたり4112個のブロックしか含んでいない。この構成は、容量以外は、上述した構成と同様に動作する。] [0086] フラッシュメモリチップそれ自体は従来のデザインであり、図6に示した構成は、フラッシュメモリチップの内部設計の細部の説明は意図しておらず、チップの構成及びダイとシステムの残りの部分とのインタフェースの様態の理解を可能にするためのものであることに留意されたい。] 図6 [0087] フラッシュ・グループ301は、各バンクが4つのダイから構成される4つのバンク(611、612、613及び614)に分割される。従って、バンク611は、フラッシュメモリ601のダイ609と、フラッシュメモリ602のダイ615と、フラッシュメモリ603のダイ616と、フラッシュメモリ604のダイ617とから構成される。 また、バンク612は、フラッシュメモリ601のダイ610と、フラッシュメモリ602のダイ618と、フラッシュメモリ603のダイ619と、フラッシュメモリ604のダイ620とから構成される。バンク613及び614も、他のフラッシュメモリ及びダイの間で同様に構成される。] [0088] 図6は4つのバンクを示す。現在の好適な実施形態では、ユーザが所望する容量に応じて、各フラッシュ・グループは4ないし8つのバンクを含んでいる。] 図6 [0089] 図7は、フラッシュメモリ・モジュール108、SSDコントローラ106及びデータパスDRAM107の間の相互接続に関するさらなる詳細を提供する。図7はフラッシュ・グループ0 301及びフラッシュ・ポート0 304を示すが、同様の相互接続が、全てのフラッシュ・グループとそれらに関連するフラッシュ・ポート及びデータパスDRAM107との間で存在する。] 図7 [0090] 図7に示すように、フラッシュ・グループ0 301は、2つのバス、フラッシュバス701及びCS/RBバス702によって、フラッシュ・ポート0 304に接続されている。] 図7 [0091] CS/RBバス702は、フラッシュHEMi307をフラッシュ・グループ301の各バンクに接続する別個の複数のラインからなる。4つのバンクを有する図示した実施形態では、CS/RBバス702は、フラッシュHEMi307をバンク614に接続するライン703と、フラッシュHEMi307をバンク613に接続するライン704と、フラッシュHEMi307をバンク612に接続するライン705と、フラッシュHEMi307をバンク611に接続するライン706との4つのラインからなる。多数(例えば8つ)のバンクを含む実施形態では、CS/RBバス702は、バンクの数に応じた多数の信号から構成されることとなる。フラッシュHEMi307からの信号がSSDコントローラ106上のピンを介して送信されることも理解すべきである。図7は、送信経路の物理的な詳細を示すことは意図しておらず、データ及び制御信号の流れを示すことを意図している。] 図7 [0092] CS/RBバス702の各ラインは、レディ・ビジー(「RB」)信号をフラッシュ・グループ301からフラッシュHEMi307へ送信するとともに、チップセレクト(「CS」)信号をフラッシュHEMi307からフラッシュ・グループ301へ送信する。] [0093] CS/RBバス702へ送信された複数のCS信号のうちの1つの信号だけが、所定の時間でアクティブとなる。現在アクティブなCS信号に接続されているバンクがフラッシュバス701に接続され、他の全てのバンクはそのバスからは切断される(繰り返すが、これは、物理的概念ではなく論理的概念である。実施に応じて、「接続された」バンクはフラッシュ・バスと通信するが、フラッシュ・バスと全てのバンクとの間に物理的な接続が存在する場合でも、他の全てのバンクがそのフラッシュ・バスを無視するように構成される)。] [0094] フラッシュHEMi307からのアドレス及び制御情報は、フラッシュバス701を介して各バンクへ送信される。アドレス及び制御情報には、制御信号708(図8を参照して後述する)と、アドレス/コマンド信号709(図9を参照して後述する)とが含まれる。同様に、バス707は、フラッシュ・ステージバッファ308をフラッシュバス701へ接続する。データは、ステージバッファ308から、バス707及びフラッシュバス701を介してバンクへ送信される。また、データは、バンクからステージバッファ308への逆方向にも送信される。] 図8 図9 [0095] 図7にさらに示すように、データパスDRAM107が、ステージバッファ308に接続されている。従って、データパスDRAM107からステージバッファ308へデータが送信され、その後、現在アクティブなCS信号を有するバンクへバス701を介して送信される。フラッシュ・グループ301からのデータは、逆方向の経路を通ってデータパスDRAM107へ送信される。] 図7 [0096] 図8は、単一のフラッシュメモリチップ(例えば、ダイ609及び610を有するフラッシュチップ601)のピン配列の一部を示す。好適実施形態では、フラッシュチップは、標準的なNANDフラッシュ・インタフェースを使用する。標準的なNANDフラッシュ・インタフェースの要部は、典型的には、8ビットのアドレス/データ(801)と、4ビットの制御信号708(アドレス・ラッチ・イネーブル(「ALE」)信号802、コマンド・ラッチ・イネーブル(「CLE」)信号803、ライト・イネーブル(「WE」)信号804及びリード・イネーブル(「RE」)信号805)と、ダイ1つあたり1本のチップ・イネーブル・ピン(コントローラからのCS信号に接続され、チップ・イネーブル及びチップセレクトの指定が時々相互互換的に使用されることとなる)と、ダイ1つあたり1つのレディ・ビジー・ラインとから構成される。図示のように、A/D信号801及び制御信号708(ALE、CLE、WE及びRE信号)は全て、フラッシュバス701に接続されているが、これらの信号だけがフラッシュバス701に接続されてるわけではない。] 図8 [0097] 図8に示すように、ALE、CLE、WE、RE信号及び両CE(チップ・イネーブル)信号は、フラッシュメモリ601に入力される。A/Dバス801は、8つの双方向信号で構成されている。両RB信号は、出力信号である。] 図8 [0098] 図8に示した全ての信号は、2つのCE信号及び2つのRB信号以外は、両ダイによって共有される。従って、8本のA/Dピン801が、ダイ609及び610によって共有される。図6の説明から理解することができるように、両ダイ(ダイ609及び610)は互いに異なるバンクに含まれている。このため、いかなる場合でも前記信号が1つ以上のバンクで同時にアクティブになることはないので、ピンを共有しても混乱は生じない。] 図6 図8 [0099] 典型的なフラッシュメモリでは、各ダイは、対応するダイに書き込まれるまたは対応するダイから読み出された1ぺージのデータを保持することができる、関連付けられたフラッシュページ・バッファを有する。図8では、フラッシュページ・バッファとして、ページ・バッファ806及び807が示されている。] 図8 [0100] 図9は、フラッシュメモリ・ポート(例えばフラッシュメモリ・ポート0 304)に用いられるフラッシュHEMi(例えばフラッシュHEMi307)の出力信号の一部を示している。フラッシュHEMi307はまた、他の機能に用いられるさらなる入力及び出力も有することを理解されたい。上述したように、フラッシュHEMi307をフラッシュ・グループに接続する信号は、SSDコントローラ106のピンを介して送信される。それらのピンも、ルーティングを処理するロジックも図示しない。信号のルーティングを示す他の図においてもそうだが、図9は、概念を示すことを意図しており、実際の物理的なレイアウトの詳細を示すことは意図していない。] 図9 [0101] フラッシュHEMi307のインタフェースのこの部分は、以下の機能に用いられる信号から構成される。] [0102] 1.ALE信号802、CLE信号803、WE信号804及びRE信号805の4つの制御ラインから構成される制御信号708。これらの信号は、フラッシュHEMi307からの出力である。] [0103] 2.CS/RBライン703〜706から構成されるCS/RBバス702。上述したように、各フラッシュHEMiは、接続された1つのCS/RBラインあたり、1つのフラッシュメモリ・バンクを制御することができる。従って、図9に示した実施形態では、フラッシュHEMi307は4つのフラッシュメモリ・バンク(例えば、図6に示したバンク611、612、613、614)を制御することができる。1つのフラッシュ・グループあたり8つのバンクを含むシステムでは、各フラッシュHEMiは、この目的に用いられる8つの信号を有することとなる(追加の4つの信号が実際に使用されなくても、ロジックは追加の4つの信号をサポートする必要があることに留意されたい)。] 図6 図9 [0104] CS/RBバス702は、CS信号をHEMi307からフラッシュバンクへ送信するとともに、RB信号をフラッシュバンクからHEMi307へ送信する。信号はこのようにして多重化されるので、各ラインは、一度に一種類の信号のみを送信し得る。CS/RB信号は「ワン・ホット」信号であるので、それらの信号のうちの1つだけを所定の時間にアクティブにすることができる。] [0105] 同一の信号をCS及びRBの両方の目的に使用すると、SSDコントローラ106のピンが節約されるので、SSDコントローラのコスト及び複雑さを減少させることができる。しかし、この場合、各バンクに1つのRB信号つまり1本のピンが必要となるので、フラッシュHEMi307で制御することができるバンクの数が制限される。現在の実施形態では、SSDコントローラ106は各フラッシュ・ポートあたり8本のCS/RBピンを有するので、各フラッシュHEMiは最大で8つのバンクを制御することができる。] [0106] 3.アドレス/コマンド信号709を構成する31個の信号。このバスは、フラッシュバス701に接続され、フラッシュメモリチップと同一の40MHzの速度で実行され、アドレス及びコマンドをフラッシュHEMi0 307からフラッシュ・グループ0 301へ送信する。アドレス/コマンド信号709は、各々が8ビットのペイロードをフラッシュメモリ・バンクの個別のダイへ送達する4つの個別の8ビットのバス(ライン0〜7、8〜15、16〜23及び24〜31からなる)と考えることができる。従って、アドレス/コマンドバス709からの8つのラインは、図8に示すA/D信号801に接続する。] 図8 [0107] 以上の説明から明らかなように、SSDコントローラ106の44本のピンは、各フラッシュ・ポートに用いられる(図9では4つの信号のみが示されているが、各フラッシュ・ポートは最大で8つのバンクをサポートすることができ、それ故に8本のCS/RBピンが必要であることに留意されたい)。SSDコントローラ106は最大で12のフラッシュ・ポートをサポートすることができるので、SSDコントローラ106の528本のピンがフラッシュ・インタフェースに用いられるが、12よりも少ない数のフラッシュ・ポートが使用される場合は前記ピンのうちの幾つかは接続されない。別個のCS及びRBピンが必要とされる場合、フラッシュ・インタフェースはさらなる96本のピンを必要とすることに留意されたい(1バンク当たり1本のピン×8個のバンク×12個のフラッシュ・ポート)。CS及びRB信号を単一のピン上に多重化すると、必要とされるピンの数を大幅に節約することができる。] 図9 [0108] 図9に示す実施形態が現在は好ましいが、様々な別の実施形態も可能である。別の実施形態では、特定のフラッシュ・グループに現在用いられている8本のCS/RBピンが、フラッシュ・グループ内に設けられたMUX(多重化装置)または他の同様のロジック装置に接続される。MUXは、或るバンクの全てのフラッシュ・ダイのCE入力に接続される1組の出力信号を有し、各信号は、選択すべき特定のバンクのCE入力を発生させる。SSDコントローラの8本のCS/RBピンは256の個別の状態を送信可能なので、理論的には、256の可能性のある入力状態のそれぞれについて互いに異なる出力ラインに沿って信号を生成するようにMUXまたは他のロジック回路を設計することにより、それらのピンを使用して256の別個のバンクのうちから選択するようにすることが可能であり得る。しかし、現在の実施形態では、全てのバンクが同一のA/Dバスを共有しているので、そのような多数のバンクを追加する利益はほとんどないであろう。代わりに、より望ましい実施形態では、そのようなMUXまたは他の同様のロジック回路は、適切な数(例えば8)のバンクを追加するためか、または、1バンクあたりのCS/RBピンの数を減らす(例えば8から4へ減らす)ために使用される。] 図9 [0109] この代替実施形態では、CS/RBピンの数はバンクの数よりも少ないので、CS/RBピンはもはや各バンクについてRB信号を処理することができないことに留意されたい。そのため、この実施形態では、SSDコントローラのCS/RBピンはもはやRB入力を処理できない。しかし、標準的なフラッシュチップはソフトウエアのみによるRB状態の状態チェックをサポートするので、各フレッシュHEMiはA/Dバスを使用してバンクのRB状態をチェックすることができる。] [0110] 従って、この代替実施形態では、SSDコントローラ106は、フラッシュメモリ・インタフェースのために少数のピンを用いるか、または、幾つかのロジック回路を追加する必要があるためシステムが複雑化するが多数のバンクをそれと同一数のピンを用いてサポートする。] [0111] 図10は、ある単一のバンクに含まれる複数のダイ(例えばバンク611に含まれるダイ609、615、616及び617)の互いの接続、及び前記ダイのそれに関連するフラッシュ・ポート(例えば、フラッシュHEMi307及びステージバッファ308を含むフラッシュ・ポート0 304)への接続の様態を示す。] 図10 [0112] 図6に示すように、ダイ609はフラッシュチップ601の2つのダイのうちの1つであり、ダイ615はフラッシュチップ602の2つのダイのうちの1つであり、ダイ616はフラッシュチップ603の2つのダイのうちの1つであり、ダイ617はフラッシュチップ604の2つのダイのうちの1つである。図示を簡単にするために、図10では、各フラッシュチップの2つのダイのうちの1つだけの図示する(上述したように、メモリ・モジュール108には、各々4つ(またはそれ以上)のダイを有するフラッシュチップが組み込まれ得るが、本明細書において開示した設計の原理は同じままである)。] 図10 図6 [0113] 図示のように、ライン706は、フラッシュHEMi307とバンク611との間のCS/RB信号インタフェースを構成する。ライン706は、CS信号をフラッシュHEMi307からバンク611へ送信し、RB信号をバンク611からフラッシュHEMi307へ送信する。図10では、このことを、フラッシュHEMi307とライン706上のポイント1001との間を結ぶ両方向を指す矢印により示している。ポイント1001からは、信号経路は分岐し、入力としてのCS信号をダイへ送信し(各ダイに入る「CS」と表示された矢印により示される)、出力としてのRB信号を各ダイから送信する(各ダイから出る「RB」と表示された矢印により示される)ことを理解されたい。ポイント1001は例示的なものであり、ポイント1001も図10の残りの部分も、物理的実施の忠実な図示は意図していないことを理解されたい。] 図10 [0114] 図示のように、バンク611に含まれる4つのダイのうちのいずれか1つが「ビジー」と出力した場合にバンク611からHEMi307へライン706を介してビジー信号が送信されるように、バンク611の各ダイからのRB出力信号は論理的には一緒に実行される(あるいは、同様に組み合わせられる)。ライン706はまた、CS信号をフラッシュHEMi307からバンク611の各ダイへ送信することもできる。バンクに用いられるCS信号がフラッシュHEMi307により設定された場合、その信号はバンクの各ダイのCEピンへ同時へ送信され、それにより、各ダイが同時に選択される。] [0115] 図10はまた、フラッシュチップ601〜604のA/Dピンと、HEMi307のアドレス/コマンド信号との間の接続を表すアドレス/コマンドバス709も示す。図示のように、32ビットのバス709は、フラッシュHEMi307からバススイッチ1002へ信号を送信する。バススイッチ1002は、上述したようにして信号の多重化、分割及び送信を行うロジック回路を表し、必ずしも単一の物理的スイッチを構成する必要はない。] 図10 [0116] バススイッチ1002は、バス709からサブバスへ信号を分割する。信号0〜7は、8ビットのバス801(図8にも示されている)を使用してフラッシュチップ601のA/Dピンへ送信され、信号8〜15は8ビットのバス1003を使用してフラッシュチップ602のA/Dピンへ送信され、信号16〜23は8ビットのバス1004を使用してフラッシュチップ603のA/Dピンへ送信され、信号24〜31は8ビットのバス1005を使用してフラッシュチップ604のA/Dピンへ送信される。A/Dピンは、フラッシュチップ・ピンへ送信された信号がフラッシュチップの内部デザインに特異的な方法によって適切なダイに受け取られるように、フラッシュチップの両方のダイによって共有されることに留意されたい。] 図8 [0117] 図10はまた、フラッシュHEMi307の制御信号708と各ダイとの間の接続を示す。上述したように、これらの制御信号はALE、CLE、RE及びWEからなり、フラッシュHEMi307からフラッシュ・ダイへ送信される。制御信号708は、フラッシュHEMi307からバススイッチ1002へ送信される。バススイッチ1002からは、制御信号の同一の組み合わせ(いずれの場合も708で示される)が、各フラッシュメモリ・チップへ送信される。A/Dピンと同様に、ALE、CLE、RE及びWEの各ピンは、各フラッシュメモリ・チップにおける両ダイに共有される。] 図10 [0118] 図10はまた、32ビットのバス707によってバススイッチ1002に接続されているフラッシュ・ステージバッファ308を示す。バス709とは異なり、バス707は双方向性なので、データを両方の方向へ送信する。] 図10 [0119] ステージバッファ308とダイとの間の送信は、ステージバッファDMAコントローラ1006の制御下で行われる。] [0120] フラッシュ・ステージバッファ308はまた、フラッシュチップのRE及びWE入力に接続されていることに留意されたい。そのような接続は、明瞭さのために図示しないが、DMAの動作を制御するために用いられる。] [0121] バススイッチ1002は、バス707からの信号を4組の8ビット信号に分割し、分割された信号を8ビットのバス801、1003、1004及び1005を使用してダイ609、615、616及び617へ送信する。同様に、バススイッチ1002は、8ビットのバス801、1003、1004及び1005を介してダイ609、615、616及び617からデータを受信し、その後、完全な32ビット値の信号をバス707を介してステージバッファ308へ送信する。] [0122] このように、スイッチ1002は、フラッシュHEMi307からの信号及び、同一の8ビットのバスを介してステージバッファ308との間で送受信される信号を多重化する。スイッチ1002は、読出しまたは書込みサイクルの特定の段階に応じて、どの信号の組を8ビットのバスを介して送信するか決定する。前記サイクルの或る段階の間は、フラッシュHEMi307からのアドレス情報はダイに接続されるが、前記サイクルの別の段階の間は、ステージバッファ308からのまたはステージバッファ308へのデータは8ビットのバスに接続される(繰り返すが、スイッチ1002は、概念的なものであり、単一の専用スイッチを構成する必要はない。加えて、スイッチ1002に関連して説明した機能的な側面は、その他の論理ブロックに見ることもできる)。] [0123] 図10では、1つのフラッシュメモリ・バンク611のみを示している。実際の実施形態では、バススイッチ1002は、フラッシュ・グループの各フラッシュメモリ・バンクとインタフェースすることとなる。各インタフェースでは、上述したようにバンク611に特異的な信号706以外は、図10に示すようにバススイッチ1002からバンク611へ出力される信号は全て複製されることとなる。また、上述したように、フラッシュメモリ・スイッチ1002は、バス707、708及び709を各フラッシュバンクへ接続するが、フラッシュHEMi307からの現在アクティブなCS信号に関連するバンクのみが応答性を有する。] 図10 [0124] フラッシュバス701は、バス708、801、1003、1004及び1005を含むことに留意されたい。] [0125] 図11は、ライン706に関連するCS及びRBロジックの詳細を示す。図示のように、SSDコントローラCS/RBピン1101は、フラッシュ・ダイ609及び615に関連するRB及びCEピンに接続される。図6に関連して上述したように、ダイ609及び615は、バンク611に含まれる4つのダイのうちの2つである。例示の目的で、バンク611の他の2つのダイは図示しないが、それらはダイ609及び615と同様の様態で接続されている。] 図11 図6 [0126] SSDコントローラ106は、バンク611を選択すべくCS/RBピン1101をハイで駆動する。この信号は、インバータ1102によって反転され、バンク611のダイのCEピンによりローで受信される。こららのピンは、アクティブ・ローである。] [0127] コントローラが、同じフラッシュ・グループハイにおける別の1つのCSピンを駆動したした場合に、CS/RBピン1101はSSDコントローラ106によりローで駆動される(このことにより、フラッシュ・グループにおける別のバンクが選択される)。] [0128] フラッシュHEMi307がバンク611のレディ・ビジー状態を読み出したい場合、SSDコントローラ106はCS/RBピン1101をフロートさせる。フラッシュ・ダイRBピンのいずれかがバンクがビジーであることを示すロー信号を駆動した場合、ダイRBピンのいずれかのロー出力はプルアップ1103をオーバーライドすることとなるので、SSDコントローラによりCS/RBピンがフロートさせられるとCS/RBピンはロー入力を受け取ることとなる。他方では、バンクがレディ状態の場合、フラッシュ・ダイはRBピンをフロートさせる。プルアップ1103はRBピンに接続されているので、RBピンの全てをフロートさせた場合及び、CS/RBピン1101がフロートされた場合、前記ピンはバンクがレディであることを示すハイ入力信号を受信する。] [0129] 従って、レディ信号がCS/RBピン1101により受信されるようにするために全てのピンをレディ状態(フロート状態)にする必要があるので、この回路がピンのビジー状態を効果的にOR接続されるようにこの回路はバンクのR/BピンをOR構成で互いに接続する。インバータ1102の使用することにより、バンクのCEピンがアクティブ・ローの場合であっても、バンクを選択するためにSSDコントローラ106をCS信号ハイで駆動することが可能となる。入力されるRB信号をオーバーライドするためにはCS信号がハイで駆動されなければならないので、このことは必要である。このようにして、SSDコントローラ106へのRB入力をアクティブ・ハイにすることができる。また、ハイCS出力はプルアップ1103で生成されたハイRB出力をオーバーライドするので、CS/RBピン1101においてハイ出力で依然としてオーバータイドされることができる。] [0130] B.ロジカル・メモリ・アーキテクチャ] [0131] 101及び102などのホストは、典型的には、ロジック・ブロック・アドレスすなわち「LBA」を単位としてメモリを編成する。ホストがデータをマス・ストレージに書き込んだとき、ホストは典型的には書込みコマンド及びLBAを含むCDBを送信する。なお、ホスト通信の詳細は、ホストに使用される特定のプロトコルに応じて変更される。ホストがその後にデータの読出しを望む場合、同じLBAを用いて読出しコマンドを発する。] [0132] 典型的には、ホストのメモリ・アーキテクチャは、データを何百万ものLBAに分割する。各LBAには、LBA0から始まる連番が付けられる。当業者にはよく知られているように、ホストは多数のマス・ストレージコントローラと頻繁に通信し、ホストの全LBA範囲のサブセットを各コントローラに割り当てる。現在の実施形態では、SSDコントローラ106は、LBA0から始まりコントローラによりアドレス可能な最大連番数のLBAで終わるLBA範囲に応答する。そのLBAシーケンスをより大きいホストLBAアドレス・スペースへマッピングすることにはホストまたはホスト・バス・アダプタが関与し、SSDコントローラ106には透明である。] [0133] 図12は、好適実施形態におけるフラッシュメモリ・モジュール108で用いられるメモリ階層を示す。] 図12 [0134] 各フラッシュ・グループは多数のバンク(例えばバンク611)から構成されている。各バンクは、ブロック0〜ブロックn(例えばブロック0 1201)と表される多数のブロックから成る。フラッシュメモリシステムでは一般的なように、ブロックは、1回の動作で消去可能なフラッシュメモリのセグメントを表す。] [0135] バンクに含まれるブロックの正確な数は、実施依存的である。一例を挙げれば、300ギガバイトの利用可能なユーザデータを提供するシステムでは、1バンクあたりのブロックの数は、通常は7,000〜9,000個の範囲であり、欠陥マネジメントや空きスペースとして確保されるメモリ量などの様々な要素に左右される。] [0136] 図12に示すように、各ブロックは、スーパーページ0〜63と表される64個のスーパーページからなる。前述したように、各スーパーページは、4つのフラッシュページからなる(例えば、スーパーページ30は、ページ30 1202、ページ30 1203、ページ30 1204及びページ30 1205からなる)。ページ1202、1203、1204及び1205は、同じフラッシュバンクの4つの互いに異なるフラッシュメモリ・ダイの同じアドレス位置にストアされている。従って、スーパーページ30は、4つの別個のダイに散在している。フラッシュメモリシステムでは標準的なように、各ページは、読出しまたは書込み可能なフラッシュメモリの最小インクリメントを表す。] 図12 [0137] 図12に示すように、各スーパーページは、ページセクタ(Pセクタ)として知られている15個のメモリ・セグメント(ページセクタ0〜14と表される)をストアする。] 図12 [0138] 図12はまた、さらなるメモリ構造:Sペーシセクタ0 1206を示す。図示のように、Sページセクタ0は4つのPセクタ0からなる。各スーパーページは1つのSページセクタを有する。] 図12 [0139] Sページセクタ0は一般的にクラッシク・マス・ストレージ・セクタに相当するが、同一バンクの互いに異なるダイの同一アドレスに各々ストアされている4つのPセクタに物理的に散在している。] [0140] 好適実施形態はまた、図12には図示しない追加的なメモリ構造であるフラッシュ・グループの各バンクの同一ブロック(例えばフラッシュ・グループのスーパーブロック0のブロック0 1201)から構成されるスーパーブロックも使用する。] 図12 [0141] 望ましい実施形態では、特定のLBAに関連するデータ及びメタデータは、単一のSページセクタ(例えばSページセクタ1206)にストアされ、本明細書においては、セクタ・データ及びセクタ・メタデータから構成されるセクタ・コンテンツと呼ばれる。] [0142] 図13は、スーパーページ・セクタ(例えば、Sページセクタ1206)の構成を示す。Sページセクタ全体は、フラッシュメモリ内の556バイトからなる。各Sページセクタは、4つのPセクタに分けられ、各Pセクタは139バイトからなり、互いに異なるフラッシュ・ダイ上にある。] 図13 [0143] 図示したこの例では、528バイトのSページセクタ1206は、セクタ・データ・フィールド1301として示されるデータに割り当てられる。使用するプロトコルに応じて、互いに異なるホスト・プロトコルは互いに異なる量のデータを1つのアドレスに関連付ける。セクタ・データ・フィールド1301は512バイトであり得る。] [0144] 図13に示すように、好適実施形態では、各Sページセクタはまた8バイトのエンド・ツー・エンド(「E2E」)情報(フィールド1302)及び20バイトのECC情報(フィールド1303)を含む。これらのフィールドは、セクタ・メタデータを集合的に構成する。] 図13 [0145] E2E情報は、より新しいバージョンのSCSIプロトコルによって指定される。この情報は、データを追跡し、マス・ストレージ・デバイスから戻ったデータが要求されたデータと一致(マッチ)することを確実にするために、イニシエータにより使用することができる。ECC情報は、誤り訂正の目的のために使用される。] [0146] E2Eフィールド1302は、Refタグ・フィールド1304、Appタグ・フィールド1305及びCRCフィールド1306にさらに分割される。] [0147] Refタグ・フィールド1304は4バイトからなり、イニシエータによりセクタ・データに関連付けられたアドレスを含む。Refタグのサポートは、SCSIプロトコルからは要求されないので(そして、プロトコルの旧バーションの一部でないので)、イニシエータはRefタグを使用しても使用しなくてもよい。イニシエータがRefタグを使用しない場合、Refタグ・フィールド1304に関連する値は、セクタコンテンツの最初の書込みをトリガーしたCDBから取得される。典型的には、この値はLBAと同一であるが、イニシエータが別のRefタグを割り当ててもよい。同一の書込みにおけるそれに続く各セクタのRefタグ値がインクリメントするように、または、単一の書込みに関連する全てのセクタに対して単一のRefタグ値が割り当てられるように、イニシエータにより選択される。インクリメントさせる方法が選択された場合、SSDコントローラ106はその作業を初期Refタグ値及び受け取ったセクターの番号に基づいて行う。] [0148] イニシエータがRefタグの使用をサポートしない場合、SSDコントローラ106はRefタグ・フィールド1304をLBAアドレスで満たす。このフィールドは、イニシエータがRefタグの使用を要求するか否かに関わらず、内部エラーチェックの目的でSSDコントローラ106に使用される。] [0149] Refタグ・フィールド1304にストアされた値は、このSページセクタに割り当てられた任意のLBAへのその後の読出しまたは書込みを引き起こす任意のCDBのRefタグ値に一致すべきである(イニシエータによりRefタグが割り当てられなかった場合は、Refタグ値はCDBに基づいてLBAに一致すべきである)。2つの値が一致しない場合は、受け取ったRefタグにおける誤り、Refタグ・フィールド1304におけるデータ破損、または、Sページセクタ1206を読出しまたは書込みのための適切なターゲットとして選択するためにSSDコントローラ106によって使用されるアドレス翻訳テーブルにおける問題によって生じた何らかのエラーを示す。そのような状態が検出された場合、ホストに対して、トランザクション失敗を示す適切なSCSI検知コードの発行(または、使用されるプロトコルに応じたその他の同様の通信)がなされる。] [0150] Appタグ・フィールド1305は2バイトからなり、関連するセクタ・データにより作られた特定の用途に関するイニシエータ特異的情報のために使用される。Appタグ情報はSCSIプロトコルによってサポートされるが、このことは必須ではない。この情報がイニシエータによって供給されない場合、Appタグ・フィールド1305には、Appタグの使用をサポートするイニシエータにより割り当てられた任意の有効なAppタグ値をオーバーラップしないように選択されたデフォルト値が満たされる。] [0151] Refタグ値と同様に、フラッシュメモリから受信したデータについてのAppタグ情報は、エラーを示す不一致によって、読出しコマンドの一部としてイニシエータによって供給されたAppタグに対してチェックすることができる。] [0152] CRCフィールド1306は2バイトからなり、前記データとSページセクタ1206にストアされているメタデータとの整合性をチェックするのに使用される巡回冗長検査(「CRC」)データを含む。Refタグ及びAppタグ情報と同様に、CRCタグは、前記データ及びメタデータが正しいか否かを判断するために、イニシエータから受け取った値に対してチェックすることができる。] [0153] SCSIプロトコルは、イニシエータが3つのE2E値のいずれかまたは全てのチェックを要求することを可能とする。] [0154] ECCフィールド1303は、LBAデータ及びセクタ・メタデータのエラーを訂正するために使用することができる誤り訂正符号(「ECC」)情報を含む。好適実施形態に使用されるECCのチェックは、図31に関連して後述する。] 図31 [0155] 図12に戻り、好適実施形態では、各ページ(例えばページ1202)は2212バイトのフラッシュメモリスペースからなり、15個のPセクタ(いずれの場合もPセクタ0〜14と表される)と、それに加えてメタデータ(図示せず)を含む。] 図12 [0156] 好適実施形態では、Sページセクタを構成する4つのPセクタの各々は、そのSページセクタにストアされるセクタコンテンツの4分の1をストアする。そのデータは、バイトインタリーブに基づいて、Pセクタに割り当てられる。従って、セクタコンテンツの第1のダブルワードの最初のバイトはページ1202のPセクタ0の最初のバイトに書き込まれ、第1のダブルワードの2番目のバイトはページ1203のPセクタ0の最初のバイトに書き込まれ、第1のダブルワードの3番目のバイトはページ1204のPセクタ0の最初のバイトに書き込まれ、第1のダブルワードの4番目のバイトはページ1205のPセクタ0の最初のバイトに書き込まれ、第2のダブルワードの最初のバイトはページ1202のPセクタ0の2番目のバイトに書き込まれる。] [0157] この説明から理解できるように、Sページセクタ0にストアされたセクタコンテンツは、4つのPセクタ0の間に散在する。従って、4つのページの各ページは、セクタコンテンツの4分の1、すなわち139バイト(556/4)をストアする。] [0158] 図14は、フラッシュページ1202をさらに詳細に示し、図12に図示しなかった要素を図示する。典型的なフラッシュ・アーキテクチャでは、フラッシュページは、2048バイトのデータ及び/またはメタデータと、他の目的に使用されるさらなる64バイトの「スペア」バイトとからなり、合計で最大2112バイトとなる。他方では、好適実施形態では、各ページは2112バイトからなるが、そのうちの2085バイトはセクタコンテンツ(15×139)のために使用され、残りの27バイトがスーパーページに関連するメタデータをストアする。図14は、2085バイトからなるPセクタ0〜14と、1フラッシュページ当たり27バイトからなるスーパーページ・メタデータ1401とを示す。Pセクタの場合と同様に、スーパーページ・メタデータ・フィールド1401がスーパーページに関連するメタデータの4分の1をストアするように、スーパーページ・メタデータはスーパーページを構成する4つのフラッシュページの全てに渡って散在する。] 図12 図14 [0159] スーパーページ・メタデータ1401は、Sページインデックス1402とタイムスタンプ1403からなる。Sページインデックス1402は、「フォワード・テーブル(Forward Table)」として知られているテーブル(LBAについての物理位置情報を含んでいる)にインデックスをストアする。フォワード・テーブルは、図33に関連して後述する。] 図33 [0160] タイムスタンプ1403は、スーパーページが書き込まれた時間を表すタイムスタンプを含む。] [0161] Sページインデックス及びタイムスタンプは、スーパーページを構成する4つのフラッシュページの各々に冗長的に書き込まれる。このメタデータは、他の情報を保護するECC機構により保護されていないので、冗長性は必要である。] [0162] スーパーページが書き込まれた場合、スーパーページ・メタデータ1401はフラッシュHEMiによって満たされる。フラッシュHEMiは、書込みを開始するページ要求部からSページインデックスを所得するとともに、内部クロックからタイムスタンプ情報を取得する。スーパーページ・メタデータは、不測のパワーロスの後に、オープンスーパーブロックを再構築するために使用される。パワーロス後の再構築については、図58に関連して後述する。] [0163] 図15は、セクタコンテンツが、バンクのブロック0及び1から構成される様態を示す。バンクにストアされた残りのブロックの全てに対し、同一の構成が行うことができることを理解されたい。] 図15 [0164] 各Sページセクタは、単一のLBAに関連するセクタコンテンツをストアし、スーパーページのSページセクタは、15個の連続的なLBAに関連するセクタコンテンツをストアする。後述するように、或るスーパーページに関連する15個の連続的なLBAは、次のスーパーページに関連する15個の連続的なLBAとは関係を持たない。] [0165] この構成は、LBAを文字(letter)で識別することにより示される。従って、LBA(A)は特定のアドレスを示し、LBA(A+14)は、LBA(A)よりも14高いLBAアドレスを示す(例えば、LBA(A)がLBA(O)である場合、LBA(A+14)はLBA(14)となる)。また一方、LBA(A)とLBA(B)との間は、例えば両方とも15で等しく割り切れること以外は関係がない。従って、LBA(A)がLBA(9,000)を表す場合に、LBA(B)がLBA(60)を表し得る。] [0166] 各スーパーページにストアされたLBAは、オペレーション中に変化し得ることに留意されたい。例えば、ブロック0のスーパーページ1のSページセクタ0は、ある時点では、LBA(O)(B=0)に関連するセクタコンテンツをストアすることができるが、他の時点では、LBA(900)(B=900)に関連するセクタコンテンツをストアすることができる。使用中におけるLBA、スーパーページ及びブロックの変化の関係の様態は後述する。] [0167] 図16は、初期化中に、フラッシュメモリ・モジュール108にホストアドレス・スペースをマップする様態を示す。上述したように、ホストは典型的には、ホストを物理メモリの構成の詳細から分離するLBAを使用して読出し及び書込みを引き起こす。] 図16 [0168] 好適実施形態では、各フラッシュ・グループは同じサイズであり、LBAに対応するデータを各々同数ストアする(または他のホスト・アドレス方式が用いられる)。現在の実施形態では、後述するように、45個のLBAが1回の転送要求で処理することができる最大数なので、LBAは45の倍数のセットでフラッシュ・グループの間に分配される。好適実施形態は、LBA0〜89がフラッシュ・グループ0に割り当てられ、LBA90〜179がフラッシュ・グループ1に割り当てられ、LBA180〜269がフラッシュ・グループ2に割り当てられ、以下同様にして最後のフラッシュ・グループに達してLBA割り当てがフラッシュ・グループ0にループバックするまで、90個のLBAのストライプ・サイズを用いる。他の様々なストライピング・アルゴリズムを用いることが可能である。代替実施形態では、ユーザはストライプ・サイズを特定することが可能であるが、転送要求で処理することができるLBAの数の倍数単位で行うことが好ましい。] [0169] 図16は、フラッシュメモリスペースの簡略化されたバージョンを示す。この簡略化されたバージョンは、3つのフラッシュ・グループ(フラッシュ・グループ0〜2)から構成される。この簡略化された例では、2つのスーパーページからなるブロックは、SP0及びSP1と表される。従って、フラッシュ・グループ0のバンク0のブロック0は、スロットに書き込まれた、1601で表されるデータからなる。図示のように、この簡略化された例では、各バンクは1つのブロックのみを含む。] 図16 [0170] 上述したように、スーパーブロックは、各バンクの同じブロックからなる。そのため、図16に示す簡略化されたアーキテクチャでは、フラッシュ・グループ0のスーパーブロック0は、各バンクのブロック0から成り、図16では1602で表される(すなわち、簡略化された例におけるフラッシュ・グループ全体)。] 図16 [0171] 後述するように、各スーパーブロックのブロック0のスーパーページ0は、スーパーブロック・メタデータ・テーブルとして知られているデータ構造を含む。このことは、各フラッシュ・グループのバンク0のSP0において、「SMT」として示されている。] [0172] 前記テーブルの他の欄の全てには、特定のスーパーページにストアされたLBA範囲が記載されている。従って、フラッシュ・グループ0のバンク1のスーパーページ0はLBA0〜14を含み、フラッシュ・グループ0のバンク1のスーパーページ1はLBA300〜314を含む。] [0173] 図示のように、LBAは、それぞれ90個のLBAの「ストライプ」で割り当てられる。最初のストライプ(LBA0〜89)は、フラッシュ・グループ0のスーパーページ0のバンク1〜6に割り当てられる。次のストライプ(LBA90〜179)は、フラッシュ・グループ1のスーパーページ0のバンク1〜6に割り当てられる。次のストライプ(LBA180〜269)は、フラッシュ・グループ2のスーパーページ0のバンク1〜6に割り当てられる。] [0174] この時点で、最後のフラッシュ・グループに達したので(この単純化された例では)、次のストライプはフラッシュ・グループ0に書き込まれ、前のストライプが中断したところからまた始める。このようにして、フラッシュ・グループ0のスーパーページ0のバンク7に、LBA270〜284が書き込まれる。フラッシュ・グループ0において利用可能なスーパーページ0はもう存在しないので、ストライプの割り当ては、スーパーページ1のバンク0へと続けられ、スーパーページ1のバンク4まで続けられる。] [0175] この時点からのこの割り当ては、スーパーブロックの終わりに達して限界となる場合を除き、そのまま続けられる。例えば、新しいストライプは、フラッシュ・グループ0のスーパーページ1のバンク5から始められる。スーパーブロックには3つのスーパーページしか残っていないので、ストライプは、フラッシュ・グループ1のスーパーページ1のバンク5へと続けられる。このようにして、スーパーブロックが偶数のストライプを保持しないという事実にも関わらず、LBAは各スーパーブロックの全てのスーパーページに割り当てられる。] [0176] このLBA割り当て方法は、フラッシュメモリのパラレル処理を最大にする傾向がある。各フラッシュ・グループは互いに独立的に動作するので、フラッシュ・グループの全体に渡ってLBAをストライプすることは都合がよい。このことにより、1回のトランザクションで1つ以上のフラッシュ・グループに保持されたデータにアドレスする可能性を最大化することができ、それにより、前記トランザクションに関する複数のフラッシュ読出しまたは書込みを同時に行うことが可能となる。転送要求は、1つのフラッシュ・グループのLBAだけにしかアドレスすることができないので、トランザクションに要する転送要求の回数を最小限にするために、ストライプサイズを45のインクリメント(転送要求によってアドレすることができるLBAの最大数)に特定することが賢明である。現在の実施形態では、ストライプは、45ずつインクリメントされる2つのLBAから構成される(6つのスーパーページを表す)。後述するように、フラッシュ・グループは、5つの別個のバンクへの5つの書込み動作を同時に処理することができる。大量の転送は、各フラッシュ・ポートへの5つの書込みを同時に実行することができ、かつ複数のフラッシュ・ポートをパラレルに実行することができるので、90個のLBAのストライプサイズを使用すると、フラッシュ・インタフェースの並行使用を最大にする傾向がある。そのため、この構成は、高度の並行処理を行うことにより、ホストが開始する大量の読出しまたは書込みをSSDコントローラ106が素早く処理することを可能とする。] [0177] このようにして、図16に示すようなLBA0〜190を含む仮説的な転送を、1つのIOP及び5つの転送要求を用いて行うことができる。第1の転送要求はLBA0〜44を処理することができ、第2の転送要求はLBA45〜89を処理することができ、第3の転送要求はLBA90〜134を処理することができ、第4の転送要求はLBA135〜179を処理することができ、第5の転送要求はLBA180〜190を処理することができる。この転送には、3つの互いに異なるフラッシュ・グループが使用され、それにより高度な並行処理を可能となることに留意されたい。加えて、(後述するように)互いに異なるバンクを対象とするページ要求は、同じフラッシュ・グループにおいてでさえも、並行して行うことができる。従って、各転送要求から発されるページ要求は互いに異なるバンクを対象とすることができるので、この例では前記ページ要求をパラレルに行うことができる。] 図16 [0178] フラッシュ・グループへのLBAの割り当ては恒久的なものである。あるいは、フラッシュ・グループ内のバンクへの割り当ては、毎回変更することもできる。後述するように、ホスト書込み部がLBAを受け取った場合、そのLBAを含むスーパーページを無効にすることを要求し、新しいデータ(及びそのスーパーページからの任意の上書きされていない古いデータ)が新しいスーパーページに書き込まれ、フラッシュHEMiは、同じバンクからの新しいスーパーページを古いスーパーページとして使用しようとする。しかし、このことは不可能な場合もあり、その場合は、フラッシュHEMiはLBAを別のバンクのスーパーページへ移動させる。このことは、フラッシュメモリシステムの性能に影響を与える傾向がある。そのような変更が十分に行われた場合は、データのストライプが1つまたは比較的少数のバンクに集中するため、並行処理の機会が失われるからである。しかし、実際には、バンクからバンクへのシフトは、非パターン的に行われる傾向があるので、所定のストライプにおけるLBA群の大幅なオペレーションの後でさえも、バンクの全体に散在する傾向があるため、高度な並行処理は維持され得る。] [0179] III.ハードウェアの詳細] [0180] A.ホストインタフェース] [0181] 図17は、図3に示したホストインタフェース310をさらに詳細に示す。ホストインタフェース310は、物理インタフェース1701と、ホスト・ポート0 104及びホスト・ポート1 105として示される2つのホスト・ポートとからなる。物理インタフェース1701の詳細については後述するが、ここでの説明では、物理インタフェース1701は、ホスト101及び102とホスト・ポート104及び105との間で信号をルーティングするためのものであると理解すれば十分である。各ホスト・ポートは、別個のホストとインタフェースすることが可能である。] 図17 図3 [0182] 一般に、ホストインタフェース310は、受信側で次の機能を実施する。 ・フレームを受信する ・フレームを構成要素に分解する ・コマンド情報を次のページに渡す ・データをデータパスDRAMに渡す] [0183] 一般に、ホストインタフェース310は、送信側で次の機能を実施する。 ・データパスDRAM107からデータを受信し、ホストへの送信用のデータを編成する ・ホストへの送信用のフレームを生成する ・フレーム(データフレームを含む)をホストへ送信する] [0184] 各ホスト・ポートは、受信HEMi(1702及び1703)、送信HEMi(1704、1705)、受信ステージバッファ(1706、1707)及び送信ステージバッファ(1708、1709)を含む。] [0185] 図示のように、各受信HEMiは、複数のホストのうちの1つから物理インタフェース1701を介して制御情報を受信し、その制御情報をSSDコントローラ106の他の構成要素へ送信する。「制御」情報は、この文脈においては、コマンド、制御信号及びアドレスを意味するが、データは含まない。各受信HEMiがホストから受信した制御情報は受信HEMiから送信される制御情報とは互いに異なり得ることに留意されたい。] [0186] 各送信HEMiは、SSDコントローラの他の構成要素から制御情報を受信し、その制御情報を物理インタフェース1701を介して複数のホストのうちの1つへ送信する。繰り返すが、HEMiからホストへ送信される制御情報は、送信HEMiが受信した制御情報とは互いに異なり得る。] [0187] 各受信ステージバッファは、物理インタフェース1701を介して複数のホストのうちの1つからデータを受信し、そのデータをデータパスDRAM107へ送信する。受信ステージバッファは16キロバイトであり、最大で4つのFC_AL(「ファイバーチャネル・アービトレイテッド・ループ」)データフレームを受け取ることができる。] [0188] 各送信ステージバッファは、データパスDRAM107からデータを受信し、そのデータを物理インタフェース1701を介して複数のホストのうちの1つへ送信する。送信バッファは4キロバイトであり、データパスDRAM107からの1つの出力フレーム及び1つの入力フレームをストアすることができる。] [0189] 図18は、ホスト・ポート0 104に関する幾つかのさらなる詳細を示す。当業者には理解できるように、SDコントローラ106とホスト101との間の通信は、ホストが使用する特定のプロトコルの命令に従って編成される。一般に、従来のプロトコル(例えば、SAS、SATA、ファイバーチャネル)は、ホストとの間の通信がコマンド及びデータの規定群からなるフレームを用いて行うと規定している。] 図18 [0190] 使用される的確なフレームフォーマットは、様々な従来のプロトコルによって異なるので、SSDコントローラ106は、各プロトコルに応じて改変する必要がある。しかし、SSDコントローラ106は、受信HEMi及び送信HEMi用の別のファームウェア及び別の物理的コネクタとするための改変が最小限で済むように設計されている。SSDコントローラ106の他の全ての側面は、様々なプロトコルに応じて変更されない。このことは、SSDコントローラ106のパイプライン型及びモジュール型のデザイン、そしてまたホストインタフェース310の前記デザインの重要な利点である。] [0191] フレーム編成の具体的詳細は、プロトコル・トゥ・プロトコルとは互いに異なるが、SATAプロトコルのいくかの側面はホスト・ポート0 104の設計及び動作を説明するために使用され得る。このプロトコルでは、フレームは、スタート・オブ・フレーム(「SOF」)プリミティブ、フレーム・ヘッダ(プロトコルにより指定されたメタデータであるが、一般的に、ペイロード及び場合によってはイニシエータを識別するために必要な情報を含む)、ペイロード(例えば、データ、コマンドなど)、フレーム全体の妥当性検査のためにCRC値、及びエンド・オブ・フレーム(「EOF」)プリミティブから構成される。ホスト・ポート0 104の受信側はフレームの受信に関与し、受信したフレームをその構成要素に分割し、データをその意図する目的地へルーティングする及び/またはトランザクションを設定するために必要とされる何らかの措置を講じる。ホスト・ポートの送信側は、SSDコントローラ106の他の構成要素から関連データ及びコマンド情報を受信することに関与し、その情報をホスト101への送信用のフレームにパッケージ化する。] [0192] ホストとの直接的通信には、米国カリフォルニア州ミルピタスに本拠地を置いているLSI社(LSI Corporation)から0.11ミクロンGigaBlaze(商標)Gflx(tm) xl Coreの名称で市販されている、トランシーバコアであるGigaBlaze1801が用いられる。このトランシーバコアは、8b/10bエンコーダ、シリアライザ/デシリアライザ及び、受信したビットと電圧レベルとの間の物理的転換を実施する物理{ぶつり}レイヤーを含む。GigaBlaze1801は、3G SATA、3GSAS、4g FC_AL及び4G FCバスへの取り付けが可能な2つのシリアルポートを有する。GigaBlaze1801の内部動作の詳細は、それがホストへの物理インタフェースを行うこと以外は、本明細書では関係ない。図示する例では、GigaBlaze1801はホスト101に接続されている。図18ではSSDコントローラ106の2つのホスト・ポートのうちの1つのみを示しているが、他方のホスト・ポートも全く同じでありGigaBlazeを有することに留意されたい。] 図18 [0193] 図18に示すように、GigaBlaze1801はプリミティブ・マッチ・ロジック1802に接続されている。プリミティブ・マッチ・ロジックは、同一物理レベルのプロトコルが、フレーム及びプリミティブを別々に処理する様々な別のロジック・レベルのプロトコルとインタフェースすることを可能にするように設計されている。GigaBlaze1801がホスト101からプリミティブを受信すると、GigaBlaze1801は、そのプリミティブをプリミティブ・マッチ・ロジックへ送信する。プリミティブ・マッチ・ロジックの詳細は、図19に関連して後述する。] 図18 図19 [0194] プリミティブ・マッチ・ロジックは、フレーム・ルータ1803を制御する。フレーム・ルータ1803は、GigaBlaze1801からフレームを受信し、プリミティブ・マッチ・ロジックの制御下で、そのフレームの一部を送信する。データは受信ステージバッファ0 1706へ送信され、ヘッダは非データ・ペイロードFIFO 1804へ送信され、プリミティブはインバウンド・プリミティブFIFO 1808へ送信される。] [0195] 受信HEMi0 1702は、ヘッダ及びプリミティブFIFOの情報を使用し、取られるアクションを特定する。受信ステージバッファにルーティングされたデータは、DMA転送によってデータパスDRAM107へ送信される。] [0196] 受信HEMi1702は、プリミティブを生成し、それをアウトバウンド・プリミティブFIFO1805へ送信する。これらの生成されたプリミティブには、ACK(フレームが正しく受け取られたことを知らせる)、NAK(フレームが正しく受け取られなかったことを示す)及びRRDY(フレームクレジットをイニシエータへ報告する)が含まれる。送信プリミティブFIFO1805のプリミティブは、直ちに、ホスト101への送信信号に挿入され、複数の他のトランザクション(例えば外部送信データフレーム)の中間に挿入され得る。] [0197] 図18に示したホスト・ポートの送信側は、送信HEMi1704、送信ステージバッファ0 1708及び送信フレーム・バッファ1806から構成される。送信ステージバッファ0 1708は、データパスDRAM107から受信したデータを含む。前記データは、読出しコマンドに応答して、フレームの一部としてホスト101へ送信される。送信フレーム・バッファ1806は、フレームを構成するのに使用されるメタデータを保持する1若しくは複数のバッファからなる。送信フレーム・バッファは受信側バッファと同様に動作するが、送信フレーム・バッファはフレームを分解するのではなくフレームを構成するために使用されることを理解されたい。] 図18 [0198] カットスルー・ロジック1807は、SSDコントローラ106のファイバーチャネルネットワークへのインタフェースを助ける。SSDコントローラ106がファイバーチャネルネットワークに接続された場合、プリミティブ・マッチ・ロジック1802は、受信したプリミティブがSSDコントローラ106を対象としているか否かについて評価する。SSDコントローラ106を対象としていないと判断されたプリミティブは、カットスルー・ロジック1807へ送信される。カットスルー・ロジックはその後、ネットワークの次のノードへ送信するために、ファイバーチャネルネットワークへ戻るべくプリミティブをGigaBlazeへ送信する。] [0199] 様々な互いに異なるプロトコル(SAS、SATA及びファイバーチャネル)に必要とされる複数の物理的コネクタは、互いに互換性がない。好適実施形態では、各プロトコルに対して互いに異なるバージョンのSSDコントローラ106が設けられることとなる。しかし、プリミティブ・マッチ・ロジックは各プロトコルについて正確に動作するので(下記参照)、互いに異なるファームウェアも受信HEMi及び送信HEMiのために必要であり得るが、各プロトコルに必要とされる唯一の違いは、互いに異なる物理的コネクタを使用することである。別の実施形態では、SSDコントローラ106には、各プロトコルに1つずつ対応する3つの互いに異なる物理的コネクタが含まれ、このことにより、任意のプロトコルに対して同一の物理的コントローラを使用することが可能となる。] [0200] プリミティブ・マッチ・ロジック1802の詳細が図19に示されている。このロジックは、一致したプリミティブ及び現在状態に基づいて、受信したプリミティブと特定された取られるアクションとを一致させる状態マシンを含む。] 図19 [0201] ホストから受信したプリミティブは、GigaBlaze1801からプリミティブ・ラッチ1901へ送信される。プリミティブはその後、16個のレジスタからなるプリミティブ・マッチ・レジスタ1902に含まれているビットパターンと一致させる。一致しなかった場合、プリミティブ・ラッチ1901からの値は、インバウンド・プリミティブFIFO1808へ直接的へ送信される。] [0202] プリミティブ・マッチ・コントロール・レジスタ1903は、16個のレジスタからなる(各プリミティブ・マッチ・レジスタに1つずつ)。プリミティブ・マッチ・コントロール・レジスタは、全体を一致させるために、関連するプリミティブ・マッチ・レジスタのどのビットがプリミティブ・ラッチ1901の値と一致するべきかを示すビットを含む。例えば、これらのビットは、任意の他のビットと一致することを必要としないが、最初のバイトと一致することを必要とする。プリミティブ・マッチ・コントロール・レジスタからのこれらのビットは、それ故にマスクとしての機能を果たし、複数の受信したプリミティブを単一のプリミティブ・マッチ・レジスタに一致させることを可能にする。このことは、受信したプリミティブのクラスに対して同じアクションが取られる場合は有用であり、また、プリミティブにおけるコマンドではなくデータを示す部分をスクリーンアウトする場合にも有用である。] [0203] プリミティブ・マッチ・コントロール・レジスタ1903における他のビットは、プリミティブ・マッチ・レジスタ1902における対応するレジスタの値がプリミティブ・ラッチ・レジスタ1901と一致した場合に取られるアクションを示す。例えば、これらのビットは、プリミティブに続くデータの幾つかが非データ・ペイロードFIFO1804に移動し、それに続くデータが受信ステージバッファ1706に移動するように、フレーム・ルータ1803を制御することができる。このことは、一般的に、データフレームに関連してSOFプリミティブを受信した場合に生じる。] [0204] プリミティブ・マッチ・コントロール・レジスタは、状態マシンとして動作する。例えば、幾つかのビットは、プリミティブ・マッチ・レジスタにより選択されたコントロール・レジスタではなくて現在のコントロール・レジスタによりその後の幾つかのプリミティブを引き起こすことができるカウンタ(図示せず)を設定することができる。加えて、プリミティブ・マッチ・コントロール・レジスタは、図示しない様々な他のレジスタに含まれる値を変更することができる。] [0205] プリミティブ・マッチ・ロジック1802は、プリミティブ・ラッチ1901とプリミティブ・マッチ・レジスタ1902との間で値を比較し、プリミティブ・マッチ・コントロール・レジスタ1903により要求される制御機能を実施するロジックを含むことを理解されたい。] [0206] 図28に関連して後述するように、プリミティブ・マッチ・レジスタ1902及びプリミティブ・マッチ・コントロール・レジスタ1903は、データ・オーバレイを使用して、関連する受信HEMiによりロードされる。各プロトコルはそれ自身のプリミティブのセットを有するため、これらのオーバレイは、プリミティブ・マッチ・ロジック1802を互いに異なるプロトコル(例えば、SAS、SATA)に対してカスタマイズするために用いられる。加えて、オーバレイは、単一のプロトコル内で、互いに異なるプリミティブのセットまたは互いに異なる状態を処理するために使用することもできる。プリミティブ・マッチ・レジスタ及びプリミティブ・マッチ・コントロール・レジスタをロードするために受信HEMiにより使用される値は、初期ファームウェアコードをロードすることにより得られる。従って、多くの場合、ハードウェアを改変することなく、プリミティブ・マッチ・ロジック1802を新しいプロトコルのためにアップデートすること、または、受信HEMiファームウェアの改変により既存のプロトコルへ改変することが可能である。] 図28 [0207] プリミティブ・マッチ・ロジック内の互いに異なるオーバレイの使用は、各プロトコルのための個々のロジックを必要とすることなく、SSDコントローラ106が別のプロトコルに応答することを可能にする。] [0208] プリミティブ・マッチ・ロジック1802はまた、フレーム解読ロジック1904を含む。ロジック・ブロックは、フレーム内の初期のダブルワードを受信し、そのフレームの性質(例えば、データ、コマンド)を判断するために、そのダブルワードを評価する。フレームの種類に基づいて、フレーム解読ロジックはフレームを適切へ送信する。例えば、フレームがコマンド・フレームの場合、フレーム解読ロジックはフレーム全体を非データ・ペイロードFIFO1804へ送信し、フレームがデータフレームの場合、フレーム解読ロジックはヘッダ部分を非データ・ペイロードFIFOへ送信し、かつデータ部分を適切な受信ステージバッファへ送信する。] [0209] 上述したように、プリミティブ・マッチ・ロジックは、ソフトウェアの変更またはハードウェアの大幅な変更を必要とせずに、SSDコントローラ106が互いに異なるフレームエンコードを含む互いに異なるプロトコルを処理できるという点で有益である。加えて、データFIFOはデータのみを含みコマンドまたはメタデータを含まないので、メタデータ及びコマンド情報が別のFIFO(例えば、非データ・ペイロードFIFO1804及びインバウンド・プリミティブFIFO1808)へ送信される間に、データを受信ステージバッファに含まれる特殊化されたデータFIFOにデータを送信することにより、受信ホスト・ポートの設計はデータのより効率的な転送を可能にすると共に、ヘッダ及びプリミティブメタデータに関しての受信HEMiの動作と並行して、DMA転送によってデータパスDRAMへデータを転送することを可能にする。これにより、システム性能全体を向上させることができる。] [0210] 上述するように、SSDコントローラ106は、様々な互いに異なるプロトコルのために使用することができ、HEMiファームウェアの改変及び別の物理的コネクタのみを必要とする。上述したプロトコルは全て、互いに比較的類似している。SSDコントローラ106はまた、上述した大幅な差異を有するプロトコルに対して容易に適用することができる。一実施形態では、例えば、SSDコントローラ106は、PCIエクスプレスなどのレーンオリエンテッド型プロトコル用に構成することができる。当業者には理解できるように、PCIエクスプレス・システムでは、外部デバイスは、「複数のレーン」を使用してデータ及びメタデータを送受信する。複数のレーンの各々は、レーンを横切ってストライプされるデータのダブルワードにより、送信信号の一部を伝送する。レーンの数は実施依存的であるが、SSDコントローラは、2つのさらなるGigaBlaze(各GigaBlazeは、PCIエクスプレス・インタフェースのために設計されたバージョンであり得ることを理解されたい)、2つの追加の受信HEMi及び2つの追加の送信HEMiを追加することにより、4つのレーンPCIエクスプレス・システムにおいて使用できるように構成することができる。1つのGigaBlaze、1つの受信HEMi及び1つの送信HEMiが、各レーンに用いられる。この実施形態では、SCSI HEMi2001(下記参照)は使用されない。そのHEMiは、代わりに、追加のRdWr HEMiとして使用され得る。] [0211] この実施形態では、外部ホストで駆動するデバイス・ドライバは、PCIエクスプレス送信をIOPフォーマットにすることに関与する。ホスト・ポート・ロジックの大部分は、それ故に不要である(例えば、プリミティブ・マッチ、様々なFIFOなど)。受信HEMi及び送信HEMiは、データのデストライプまたはリストライプにそれぞれ関与する。受信IOPがデストライプされると、それは、RdWr HEMi(下記参照)へ直接的に渡される。その後、上述した他のプロトコルのように処理される。] [0212] PCIエクスプレスなどのレーン・オリエンテッド型プロトコルと共にSSDコントローラ106を使用する場合は何らかの追加的な改変を必要とするが、これらの改変は比較的小さいものであり、コントローラのモジュールのデザインの結果として容易に適用することができる。HEMi群の追加及び除去は比較的単純である、コントローラ・パイプラインの互いに異なる段階は互いに独立的に動作するため、ある段階(例えばホスト・ポート)の変更は、他の段階(例えばフラッシュ・ポート)の変更を必要としない。] [0213] SSDコントローラ106は、同様に、iSCSIプロトコルと共に使用するために設計することができるが、その場合は、ホスト・ポートに1若しくは複数のTCP/IPスタックと共に、そのスタックの抽出に関与する受信HEMi及びTCP/IPプロトコルに必要とされるフレーム情報のエンコードに関与する送信HEMiを追加することが必要である。] [0214] B.コマンドパーサ] [0215] 図20は、図3に示したコマンドパーサ・ブロック311についてのさらなる詳細を示す。図3に関連して説明したように、コマンドパーサ・ブロック311は、ホスト・インタフェース310及びコマンド分配ブロック312に接続している。] 図20 図3 [0216] コマンドパーサ・ブロック311は、SCSIHEMi2001を含む。SCSI HEMi2001は、受信HEMi1702及び1703からホスト・コマンドを受信する。SCSI HEMi2001は、ホスト・コマンドが読出し/書込みコマンドであるか、または他の種類のコマンドであるかを判定する。コマンドが読出し/書込みコマンド以外のコマンドであれば、SCSI HEMi2001は、非読出し/書込みコマンドを処理するARMプロセッサ2002にコマンド・オフを伝達する。ARMプロセッサ2002の詳細については後述する。] [0217] SCSIHEMi2001は、コマンドが読出し/書込みコマンドであると判定すれば、コヒーレンシを確実にするためにコマンドを有効にする。これは、読出しまたは書込みコマンドが、コマンド分配ブロック312が現在処理している読出しまたは書込みコマンドと同じデータに関連している場合に、第1のコマンドの特定の処理が完了するまで第2のコマンドが保留されることを意味する。] [0218] 読出し/書込みコヒーレンシは、再オーダーされる読出し及び書込みを可能にするSCSIプロトコルには必要とされない。しかし、後述するように、SSDコントローラ106は、ホストにより開始されるコマンドを複数のサブオペレーションに分割し、これらのサブオペレーションはアウト・オブ・オーダー(順不同)で処理される。] [0219] SSDコントローラ106が同じデータに対して1つ以上のコマンドを実行することを許可する場合は、第1のコマンドが完了する前に、第2のコマンドの一部を実行させることが可能である。例えば、SSDコントローラ106が、LBAの特定のブロックに対しての書込みコマンドを受信した後にLBAの重複ブロックについての読出しコマンドを受信した場合、及び、書込みコマンドの終了前に読出しコマンドのオペレーションの開始が許可された場合、読出しコマンドは、書込みコマンドによって既にアップデートされた或るデータ及びアップデートされなかった或るデータをリターンさせることが可能である。] [0220] このため、SSDコントローラ106は、SCSIHEMi2001及びフラッシュHEMi群(後述)の2つの位置において、現在アクティブなコマンドを追跡する。] [0221] mRAMとして知られるHEMiの内部メモリ(図26に関連して後述する)にストアされたSCSI HEMiコマンド・テーブル2003は、SCSI HEMi2001からコマンド分配ブロック312へ送信されたがフラッシュHEMi群にはまだ送信されていないすべてのホスト読出し及び書込みコマンドのLBA及び転送長を含む。] 図26 [0222] 後述するように、コマンド分配ブロックは、RdWrHEMiとして知られる幾つかのHEMiを含む。コマンド・テーブル2003は、各コマンドにより動作するRdWr HEMiの識別子を含む。SCSI HEMi2001は、この情報を用いて、RdWr HEMiの作業負荷のバランスを取り、比較的少数の現在アクティブなコマンドと共に新しいコマンドをRdWr HEMiへ送信する。] [0223] 新しいコマンドを受信した場合、SCSIHEMi2001はコマンド・テーブル2003をチェックして、LBAアドレスのいずれか1つが既存のコマンドの影響を受けるか否かを判定する。一致が見つかった場合、SCSI HEMi2001は、前回のコマンドがテーブルから除去されるまで新しいコマンドの実行をストールする。コマンドを送り出すRdWr HEMiが、前記コマンドに対応する全ての必要な転送要求を生成し送り出しを報告すると(RdWr HEMiが後述する転送要求を送信する過程)、コマンドがコマンド・テーブル2003から除去される。この時点で、新しいコマンドは、もはやストールされない。この時点では初期コマンドは依然として実行されているが、そのコマンドはフラッシュHEMiレベル(後述する)でコヒーレンシチェックを受けることを理解されたい。] [0224] このように、SSDコントローラ106は、ホストコマンドのパイプライン型実行における2つの点で読出し/書込みコヒーレンシを実行する。SCSIHEMi2001は、既存のコマンドのLBA範囲と対立する新しいコマンドを、既存のコマンドがフラッシュHEMiへ送信されるまでストールする。そして、既存のコマンドが完了するまで既存のコマンドと同じ範囲をカバーする新しいコマンドの実行をストールするように、各フラッシュHEMiは、それ自身のオペレーションにおいてコヒーレンシを実行する。] [0225] 相反するコマンドが前記パイプラインの別の段階で処理されている限りは相反するコマンドの処理を継続することができるので、コヒーレンシを二段階で実施するこのシステムは有利である。従って、RdWrHEMi群は、フラッシュメモリで作動される第1の相反するコマンドと同じ時点で、第2の相反するコマンドを設定することができ、このことにより全てのシステム性能を向上させることができる。] [0226] 上述したように、コマンドパーサ・ブロック311はまた、特定の内部管理オペレーションを制御し、読出しまたは書込み以外のホスト開始コマンドの処理に関与するARMプロセッサ2002を含む。好適実施形態では、ARMプロセッサ2002は、英国ケンブリッジ所在のARMホールディングス社(ARM Holdings pic)から入手可能なARM7TDMiである。ARMプロセッサ2002の機能は、様々なロジック・デバイスによって処理されることができることを理解されたい。] [0227] ARMプロセッサ2002により処理されるホストコマンドの正確な性質はプロトコル依存性であるが、一実施形態では、これらのコマンドには、次のものが含まれる。 ・テストユニット実行可能 ・容量の読み取り ・モード選択 ・モード検出 ・ログ選択 ・ログ検出 ・報告ラン ・診断結果送信 ・リクエスト検出 ・バッファ書込み ・バッファ読出し] [0228] C.コマンド配布] [0229] 図21は、コマンド分配ブロック312をより詳細に示している。図示のように,、コマンド分配ブロック312は、一群のRdWrHEMi(2101〜2106)から構成される。好適実施形態では、コマンド分配ブロック312は、6個のRdWr HEMiから構成される。しかし、SSDコントローラ106はモジュール型に設計されているので、RdWr HEMiの数はコントローラの残りの部分の大幅な再設計を必要とせずに増加または減少させることが可能である。RdWr HEMiの個数を増やすと性能を高めることができるが、コストが非常に高くなると共にシステムが複雑なものとなる。] 図21 [0230] 図21に示すように、SCSIHEMi2001は、各RdWr HEMi群に情報を送信する。一般的に、これは、SCSI HEMi2001が、HEMiの他のRdWr HEMiに対する相対的な作業負荷に基づいて特定の特定のRdWr HEMi群に割り当てるCDB情報からなる。] 図21 [0231] RdWrHEMi群は、CDB情報に基づいてIOPを生成し、その後、IOPにより要求される転送要求を生成する。そして、それらの転送要求を、転送データのフラッシュ・アドレスに基づいて特定のフラッシュ・ポートへ送信する。RdWr HEMi群はまた送信HEMi群とも通信し、ホストが書き込んだ場合、関与するRdWr HEMiは、コントローラが前記書込みに関連するデータに対して準備ができていることを送信HEMiがホストに知らせるべきであるということを示す情報を送信HEMiへ送信する。] [0232] D.クロスバー;共有RAM;DRAM] [0233] これまでの図面は、データ及び制御フローの観点からの各機能ブロック間の相互接続を示しており、物理的な接続を示すことは試みていなかった。図22は、現在の実施形態において、SSDコントローラ106の機能ブロックの多くが物理的に接続されている様態を示す。] 図22 [0234] 図22は、クロスバー・スイッチ2201を示す。当業者には一般的に理解できるように、クロスバー・スイッチは、スイッチの一方の側の任意の構成要素を、スイッチの他方の任意の要素に接続させるように動作する。クロスバー・スイッチは、後述するような様態で、HEMi側の構成要素を共有RAM側の構成要素と接続させる。] 図22 [0235] クロスバー・スイッチ2201のHEMi側は、SSDコントローラ106に含まれる各HEMiの2方向接続を有する(図22に示すHEMi群は、HEMiと各HEMiに関連する密結合ロジックとの組み合わせの実際である。ロジックの詳細は、本明細書の他の部分でさらに説明されている)。] 図22 [0236] 本明細書の他の部分に説明されているように、HEMiの数は、実施決定に応じて異なり得る(例えば、コントローラは8ないし12のフラッシュHEMiを含み得る)。] [0237] 現在の実施形態では、クロスバー・スイッチ2201の共有RAM側は、共有RAMバンク0(2202)〜共有RAMバンク7、グローバル・レジスタ2203及びPIOバッファ2204として示され集合的に共有RAMブロック318として示される、10個のRAMバンクに接続される。好適実施形態では、各共有RAMバンクは4キロバイトのRAMストレージ・スペースからなる。クロスバー・スイッチ2201は、多数の共有RAMバンクに接続されるように設計されており、それ故に、後述するように、モジュールの拡張性をサポートする。] [0238] 上述したように、10個の共有RAMバンクの全てがアドレス・スペースを共有するが、それらのバンクの幾つかは特殊化された機能を有する。] [0239] 図22に示したように、クロスバー・スイッチ2201は、各共有RAMバンクのためのポートを有する。各共有RAMバンクは4つのFIFO及び1つのデータ構造セクションを含み、各FIFOは、それに関連するFIFOレジスタ・ブロック(例えば、レジスタ・ブロック2205はFIFO0を制御し、ブロック2206はFIFO1を制御する。以下同様)によって制御される。] 図22 [0240] 共有RAMポート0を共有RAMバンク0と接続する矢印により示されるように、共有RAMポート0は、共有RAMバンク0のFIFO0〜3またはデータ構造セクションへの単なる入力または出力経路である。前記経路は、関連するレジスタを介して、FIFOと接続される。後述するように、FIFOからの読出しまたはFIFOへの書込みは、関連するレジスタ・ブロックを介して実施される。一方、データ構造セクションからのみ出しまたはデータ構造セクションへの書込みは、関連するレジスタを介さずに行われる。] [0241] 好適実施形態では、FIFOのうちの27個だけが実際に使用される(23個がHEMiワークリストに使用され、4個がフリーリストに使用される)。残りの5個は、本システムによりサポートされるHEMiの数を拡張するために利用可能である。] [0242] クロスバー・スイッチ2201のグローバル・レジスタ・ポート2207は、GigaBlaze1801の制御やDRAMコントローラ2305(図23と関連して後述する)のセットアップなどの様々な機能を実施する複数のレジスタから構成されるRAMバンクからなるグローバル・レジスタ2203に接続されている。] 図23 [0243] クロスバー・スイッチDRAMポート2208は、データパスDRAM107に接続されたPIO(「プログラムされた入出力(IO)」DRAMバッファ2204に接続されている。PIO DRAMバッファ2204は、共有RAMのバンクに含まれている64個のダブルワードFIFOであり、HEMi群とデータパスDRAMとの間の情報をバッファするのに使用される。データパスDRAMは、より速いクロック速度で実行され、一度に4つのダブルワードの読出し及び書込みができるが、HEMi群は一度に1つのダブルワードの読出し及び書込みしかできないので、このようなバッファは必要である。データパスDRAM動作が遅くなるのを防ぐために、PIO DRAMバッファ2204はDRAMとの間で転送されたデータをバッファする。HEMi群がデータパスDRAMにデータを書き込んだ場合、PIO DRAMバッファ2204は、書込みが完了するかまたはバッファが満杯になるまで(そうなった場合は、データをデータパスDRAMへバーストする)、データ、ダブルワードを一度にストアする。HEMi群がデータパスDRAMからデータを読出した場合、PIO DRAMバッファ2204は、データパスDRAMからのデータの4つのダブルワードを一度にストアし、必要なデータの全てが利用可能になると(または、PIOバッファが満杯になると)、HEMi群はバースト内のダブルワードのそのデータを一度に読み出す。繰り返すが、実際には、データはDRAMと複数のバッファのうちの1つとの間で転送されることを理解されたい。] [0244] クロスバー・スイッチ2201からPIOバッファ2204への接続は、データパスDRAMとフラッシュ・ポートのステージバッファとの間またはホストインタフェースと受信ステージバッファとの間のデータ転送のためには使用されず、その代わりに、HEMiとの通信のためにだけ使用されることに留意されたい。様々なステージバッファへのまたは様々なステージバッファからの転送は、クロスバー・スイッチ2201を介さずに行われる。] [0245] クロスバー・スイッチ・デバッグ・ポート2209は、デバッグFIFO2210に接続されている。デバッグFIFO2210は、HEMi群からのデバッグ情報のためのFIFOとしての役割を果たす大型のSRAMバンクである。デバッグFIFO2210は、HEMi群からダブルワードの情報を一度に受け取り、その情報を4ダブルワードの幅のFIFO構造にストアする。デバッグFIFO2210が或る設定された容量閾値に到達すると、DRAMポートへのアクセスを調停する。そして、アクセス権を取得すると、DRAM107へのデバック情報の書込み(4ダブルワード)を一度にバーストする。] [0246] クロスバー・スイッチでは一般的であるが、クロスバー・スイッチ2201は、HEMi側の複数の構成要素を共有RAM側の複数の構成要素に対して同時に接続することができる。接続は、各側のポート数によってのみ制限される。] [0247] クロスバー・スイッチ2201は、各HEMiを、各共有RAMバンクのみならずスイッチの共有RAM側の他のリソースに対しても接続することが可能である。しかし、スイッチは、HEMi群を互いに直接的に接続しないし、共有RAMバンクも互いに直接的に接続しないことを理解されたい。複数のHEMi間の通信は、共有RAMバンクに情報を残すために、クロスバー・スイッチ2201を使用して直接的に実施される。] [0248] 従って(後述するように)、SCSIHEMi2001は受信したCDBの結果としてIOPを生成し、そのIOPをRdWr HEMiへ送信する。このことは、RdWr HEMi用のワークリストのIOP位置へポインタをストアしているSCSI HEMi2001により処理される。前記ワークリストはまた、共有RAMバンクFIFOのうちの1つにもストアされている。RdWr HEMiはその後、ワークリストをチェックすることによりIOPを受け取り、IOPに含まれている位置を特定し、そして、その位置からのIOPを自身の内部メモリにコピーする。他のHEMi群との間の通信は、同様にして行われる。共有RAMバンクに含まれるデータ構造の詳細及び、HEMi群がそのデータ構造を使用して情報を転送する様態は後述する。] [0249] DRAMアクセス・レジスタ・ブロック2211は、データパスDRAM107へのアクセスを制御する。上述したように、HEMi群はデータパスDRAM107には直接的にアクセスしないが、その代わりにこの目的のためにPIOバッファ2204を使用する。これらは、DMA転送であり、HEMiがアドレスの開始及び転送サイズのみを提供することを必要とする。] [0250] アドレス・レジスタ2212は、転送のために、データパスDRAM内の開始位置をストアする。転送カウント・レジスタ2213は、必要な転送カウント(回数)をストアする。データ・レジスタ2214は、PIOバッファ2204へ送信するデータまたはPIOバッファから受信したデータをストアする。] [0251] データパスDRAM107からの読出しは、HEMiがレジスタ2212内にDRAMアドレスを入力し、転送カウント・レジスタ2213に転送サイズ(クワッドワード〜ダブルワード)を入力することにより開始される。これらのアクションは、DRAMDMAエンジン2302(下記参照)がデータを4つのダブルワード・チャンクでPIOバッファ2204へ転送することを引き起こす。各転送が行われるとDRAM DMAエンジンは転送カウント・レジスタ2213をデクリメントし、転送カウント・レジスタ2213がゼロに到達したときにDMA転送は終了する。] [0252] DMA転送の完了後、データはダブルワード・インクリメントでPIOバッファからデータ・レジスタ2214へ自動的に読み出される。] [0253] HEMiからデータパスDRAM107への書込みも同様にして行われる。] [0254] アドレス・レジスタ2212のインクリメントは毎回転送カウント・レジスタ2213をデクリメントすることに留意されたい。DRAMDMAエンジンは初期アドレス及び転送カウントのみを必要とするので、このことは現在行われる転送に不要である。アドレス・レジスタ2212のインクリメントは、転送が完了すると、レジスタに保持されている転送用のアドレスを終了させる。このことは、今後の転送のセットアップに有用であり得る。] [0255] 図23は、RAMコントローラ317を示す。一般に、RAMコントローラは、共有RAMブロック318及びデータパスDRAM107へのアクセスを制御及び調停する。] 図23
权利要求:
請求項1 フラッシュメモリ・コントローラであって、各々がレジスタ、ALU及び内部メモリを含む複数のプロセッサと、少なくとも一部が、メモリコマンドに関連するメタデータを含むデータ構造を含み、かつ、少なくとも一部が、前記複数のプロセッサのためのワーク・キューを含む複数のメモリと、前記複数のプロセッサを前記複数のメモリに接続するクロスバー・スイッチとを含み、該クロスバー・スイッチが、各プロセッサのための1つのポートを含む1組のプロセッサ・ポートと、各メモリのための1つのポートを含む1組のメモリ・ポートと、任意のプロセッサ・ポートを任意のメモリ・ポートに接続することはできるが、プロセッサ・ポート同士を接続したり、あるいはメモリ・ポート同士を接続したりすることはできない内部切替機構とを含み、それによって、或るプロセッサが、別のプロセッサと関連付けられているワーク・キューにタスクを置くために、前記クロスバー・スイッチを用いて前記別のプロセッサと通信するようにしたことを特徴とするフラッシュメモリ・コントローラ。 請求項2 2つ以上のプロセッサがクロスバー・スイッチ・メモリ・ポートにアクセスしようとしている場合に、前記ポートへのアクセスを制御する調停手段をさらに含み、該調停手段が、アクセス権を得たプロセッサにアクセスを提供するように、前記クロスバー・スイッチの内部切替回路を制御することを特徴とする請求項1のフラッシュメモリ・コントローラ。 請求項3 前記複数のワーク・キューのうちの少なくとも1つのワーク・キューが、前記複数のデータ構造のうちの1つのデータ構造へのポインタを含むことを特徴とする請求項1のフラッシュメモリ・コントローラ。 請求項4 前記複数のメモリのうちの少なくとも1つのメモリが、メタデータをストアするようにフォーマットされているデータ構造へのポインタを含むが、有効なメタデータを現在ストアしていない1若しくは複数のフィールドを含むことを特徴とする請求項3のフラッシュメモリ・コントローラ。 請求項5 少なくとも1つのワーク・キューが、空のワーク・キューと少なくとも1つのタスクを含むワーク・キューとを区別することができる情報をストアする第1のレジスタを含む1組のレジスタによって制御され、前記コントローラが、プロセッサに接続された信号をさらに含み、該信号が、前記第1のレジスタによって制御され、該信号が、空のワーク・キューとタスクを含むワーク・キュー間の移行によってトリガされ、該信号が、前記プロセッサのスリープ・モードを終了させることを特徴とする請求項1のフラッシュメモリ・コントローラ。 請求項6 フラッシュメモリ・コントローラを作動させる方法であって、(a)読出しまたは書込み及びロジック・アドレスを指定するホストコマンドを受信するステップと、(b)前記ホストコマンド及び前記ロジック・アドレスまたは前記ロジック・アドレスに関連しているアドレスを指定するような、前記ホストコマンドに関連しているメタデータ構造を生成するステップと、(c)前記メタデータ構造を第1のメモリまたはメモリ領域にストアするステップと、(d)第1のプロセッサが、第2のプロセッサと関連付けられている順序付けられたワークリストを含む第2のメモリまたはメモリ領域にアクセスするステップと、(e)前記第1のプロセッサが、前記メタデータ構造へのポインタを前記ワークリストに書き込むステップと、(f)それに応じて、前記第2のプロセッサが、前記メタデータ構造に関連しているタスクを実行するステップとを含むことを特徴とする方法。 請求項7 前記ステップ(d)が、前記第1のプロセッサが、クロスバー・スイッチにアクセスし、前記第2のメモリと関連付けられているポートに接続するサブステップをさらに含むことを特徴とする請求項6の方法。 請求項8 前記ステップ(f)の第2のプロセッサのタスクが、(i)前記第1のメモリまたはメモリ領域にアクセスし、前記メタデータ構造を前記第2のプロセッサ内にあるメモリにコピーするサブステップをさらに含むことを特徴とする請求項6の方法。 請求項9 前記ステップ(f)の前記第1のメモリまたはメモリ領域にアクセスする動作が、前記第2のプロセッサがクロスバー・スイッチにアクセスし、前記第1のメモリまたはメモリ領域と関連付けられているポートに接続する動作を含むことを特徴とする請求項8の方法。 請求項10 前記ステップ(f)の第2のプロセッサのタスクが、(ii)前記メタデータ構造が前記第2のプロセッサの内部メモリにストアされている間に前記メタデータ構造の前記内容を変更するサブステップと、(iii)前記変更されたメタデータ構造を前記第1のメモリにコピーするサブステップとをさらに含むことを特徴とする請求項8の方法。 請求項11 フラッシュメモリ・コントローラであって、複数のプロセッサを複数のメモリと接続するクロスバー・スイッチを含み、該クロスバー・スイッチが、調停の結果に基づいて該クロスバー・スイッチ上のメモリ・ポートの制御を割り当てる調停手段とを含み、前記複数のメモリが、ホストコマンドに関連している複数のデータ投入されたメタデータ構造と、空きメタデータ構造へのポインタのリストと、データ投入されたメタデータ構造へのポインタを各々が含む、それぞれ別々のプロセッサと関連付けられている第1及び第2のワークリストとをストアすることを特徴とするコントローラ。 請求項12 第1のプロセッサ及び第2のプロセッサをさらに含み、各プロセッサが、ALU、レジスタ及び内部プロセッサ・メモリを含み、前記第1のプロセッサの前記内部プロセッサ・メモリが、第1のホストコマンドに関連している第1のメタデータ構造をストアし、前記第2のプロセッサの前記内部プロセッサ・メモリが、第2のメタデータ構造をストアすることを特徴とする請求項11のコントローラ。 請求項13 前記第1のワークリストが前記第1のプロセッサと関連付けられ、かつ前記第2のワークリストが前記第2のプロセッサと関連付けられており、前記第1のワークリスト上のポインタが第3のメタデータ構造を指し、該第3のメタデータ構造がコントローラ・メモリにストアされており、前記第3のメタデータ構造が前記第1のメタデータ構造に関連しており、前記第2のワークリスト上のポインタが第4のメタデータ構造を指し、該第4のメタデータ構造がコントローラ・メモリにストアされており、前記第4のメタデータ構造が前記第2のメタデータ構造に関連していることを特徴とする請求項12のコントローラ。 請求項14 前記第1及び第2のメタデータ構造が、第1のタイプであり、前記第3及び第4のメタデータ構造が、第2のタイプであり、前記第1のメタデータ構造が、前記第3のメタデータ構造へのポインタを含み、前記第2のメタデータ構造が、前記第4のメタデータ構造へのポインタを含むことを特徴とする請求項13のコントローラ。 請求項15 前記第3のメタデータ構造が、第1のロジック・アドレスを含み、前記第4のメタデータ構造が、第2のロジック・アドレスを含み、前記第1のメタデータ構造が、前記第1のロジック・アドレスに関連している第1の物理アドレスを含み、前記第2のメタデータ構造が、前記第2のロジック・アドレスに関連している第2の物理アドレスを含むことを特徴とする請求項14のコントローラ。 請求項16 第1及び第2のプロセッサ、クロスバー・スイッチ、並びに第1及び第2のコントローラ・メモリを含むフラッシュストレージ・コントローラを作動させる方法であって、(a)前記第1のプロセッサが、第1のメタデータ構造を、前記第1のプロセッサ内にあるプロセッサメモリにストアするステップと、(b)前記第1のプロセッサが、前記第1のコントローラ・メモリと関連付けられている第1のクロスバー・スイッチポートにアクセスするステップと、(c)前記第1のプロセッサが、前記第1のメタデータ構造を前記第1のコントローラ・メモリにコピーするステップと、(d)前記第1のプロセッサが、前記第2のコントローラ・メモリと関連付けられている第2のクロスバー・スイッチポートにアクセスするステップと、(e)前記第1のプロセッサが、前記第1のメタデータ構造へのポインタを、前記第2のコントローラ・メモリにストアされておりかつ前記第2のプロセッサと関連付けられているワークリストに置くステップと、(f)前記第2のプロセッサが、前記第1のクロスバー・スイッチポートにアクセスするステップと、(g)前記第2のプロセッサが、前記第1のメタデータ構造を前記第1のコントローラ・メモリから前記第2のプロセッサ内にあるプロセッサメモリにコピーするステップと、(h)前記第2のプロセッサが、前記第1のメタデータ構造を変更するステップとを含むことを特徴とする方法。 請求項17 (i)前記第2のプロセッサが、第2のメタデータ構造のフィールドにデータ投入するステップをさらに含み、前記第2のメタデータ構造が、前記第2のプロセッサ内にある前記プロセッサメモリ内に位置し、前記変更するステップ(h)が、前記第1のメタデータ構造に前記第2のメタデータ構造へのポインタの付加を含むことを特徴とする請求項16の方法。 請求項18 前記第1のメタデータ構造がロジック・アドレスを含み、ステップ(i)が、前記ロジック・アドレスに関連している第1の物理フラッシュ・アドレスを第2のメタデータ構造フィールドに置くサブステップを含むことを特徴とする請求項17の方法。 請求項19 (j)前記第2のプロセッサが、第3のメタデータ構造のフィールドにデータ投入するステップをさらに含み、前記第3のメタデータ構造が、前記第2のプロセッサ内にある前記プロセッサメモリ内に位置し、前記変更するステップ(h)が、前記第1のメタデータ構造に前記第3のメタデータ構造へのポインタの付加を含むことを特徴とする請求項18の方法。 請求項20 前記ステップ(j)が、第2の物理フラッシュ・アドレスを第3のメタデータ構造フィールドに置くステップを含み、前記第2の物理フラッシュ・アドレスが、前記ロジック・アドレスに関連していることを特徴とする請求項19の方法。 請求項21 フラッシュメモリ・コントローラであって、各々がレジスタ、ALU及び内部プロセッサ・メモリを含む第1のプロセッサ及び第2のプロセッサと、前記第1のプロセッサと関連付けられている第1のワークリストを含む第1の揮発性メモリと、前記第2のプロセッサと関連付けられている第2のワークリストを含む第2の揮発性メモリと、第1のホストコマンドに関連している第1のメタデータ構造を含む第3の揮発性メモリと、第2のホストコマンドに関連している第2のメタデータ構造を含む第4の揮発性メモリと、クロスバー・スイッチとを含み、前記クロスバー・スイッチが、前記第1のプロセッサに接続されている第1のプロセッサ・ポート及び前記第2のプロセッサに接続されている第2のプロセッサ・ポートを含むような、各々がプロセッサに接続されている1組のプロセッサ・ポートと、前記第1の揮発性メモリに接続されている第1のメモリ・ポート、前記第2の揮発性メモリに接続されている第2のメモリ・ポート、前記第3の揮発性メモリに接続されている第3のメモリ・ポート及び前記第4の揮発性メモリに接続されている第4のメモリ・ポートを含むような、各々が揮発性メモリに接続されている1組のメモリ・ポートとを含み、前記クロスバー・スイッチが、前記プロセッサ・ポートのうちの1つを前記メモリ・ポートのうちの1つに選択的に接続する内部回路を含むことを特徴とするコントローラ。 請求項22 前記第1のワークリストが、前記第1のホストコマンドに関連している第1の情報を含み、前記第2のワークリストが、前記第2のホストコマンドに関連している第2の情報を含むことを特徴とする請求項21のコントローラ。 請求項23 前記第1の情報が、前記第1のメタデータ構造へのポインタを構成し、前記第2の情報が、前記第2のメタデータ構造へのポインタを構成することを特徴とする請求項22のコントローラ。 請求項24 前記第1のワークリストが、第3のメタデータ構造へのポインタを含み、該第3のメタデータ構造が、前記第2のホストコマンドに関連していることを特徴とする請求項23のコントローラ。 請求項25 前記第1及び第2のメタデータ構造が、ロジック・アドレスを含むが物理アドレスを含まず、前記第1のプロセッサの内部プロセッサ・メモリが第4のメタデータ構造を含み、該第4のメタデータ構造が物理アドレスを含むことを特徴とする請求項23のコントローラ。
类似技术:
公开号 | 公开日 | 专利标题 US20190121553A1|2019-04-25|Multiprocessor system with independent direct access to bulk solid state memory resources US9921751B2|2018-03-20|Methods and systems for mapping a peripheral function onto a legacy memory interface US20180004432A1|2018-01-04|Two-level system main memory US10331356B2|2019-06-25|Data writing processing into memory of a semiconductor memory device by using a memory of a host device US9575882B2|2017-02-21|Non-volatile memory interface US9122591B2|2015-09-01|Pipelined data relocation and improved chip architectures US10725956B2|2020-07-28|Memory device for a hierarchical memory architecture US20190265889A1|2019-08-29|Memory controllers, memory systems, solid state drives and methods for processing a number of commands US8949492B2|2015-02-03|Apparatus including buffer allocation management and related methods US10380022B2|2019-08-13|Hybrid memory module and system and method of operating the same USRE46013E1|2016-05-24|Method and controller for performing a copy-back operation JP2015164090A|2015-09-10|複数の独立したシリアルリンクメモリ US8612791B2|2013-12-17|Method of selective power cycling of components in a memory device independently by turning off power to a memory array or memory controller EP2761471B1|2017-10-25|Statistical wear leveling for non-volatile system memory US9009391B2|2015-04-14|Solid state drive architecture US8291295B2|2012-10-16|NAND flash memory controller exporting a NAND interface US9128618B2|2015-09-08|Non-volatile memory controller processing new request before completing current operation, system including same, and method US8806112B2|2014-08-12|Meta data handling within a flash media controller EP2427824B1|2015-10-21|Low latency read operation for managed non-volatile memory KR960016397B1|1996-12-11|화일기억장치 및 그것을 사용한 정보처리장치 US9747029B2|2017-08-29|Apparatus including memory management control circuitry and related methods for allocation of a write block cluster KR101284440B1|2013-07-09|커맨드 수정 CN103403681B|2018-09-18|描述符调度器 US5875349A|1999-02-23|Method and arrangement for allowing a computer to communicate with a data storage device US8606988B2|2013-12-10|Flash memory control circuit for interleavingly transmitting data into flash memories, flash memory storage system thereof, and data transfer method thereof
同族专利:
公开号 | 公开日 US20090172258A1|2009-07-02| US20090172257A1|2009-07-02| EP2225642A1|2010-09-08| US9239783B2|2016-01-19| WO2009086424A1|2009-07-09| WO2009086412A1|2009-07-09| US9448743B2|2016-09-20| US8751755B2|2014-06-10| US9152556B2|2015-10-06| US8775717B2|2014-07-08| WO2009086376A1|2009-07-09| US20090172260A1|2009-07-02| US7934052B2|2011-04-26| US20090172262A1|2009-07-02| US8959282B2|2015-02-17| US20090172499A1|2009-07-02| US20130339581A1|2013-12-19| US20160034227A1|2016-02-04| CN103150275B|2015-12-16| US20140237168A1|2014-08-21| CN101965559B|2013-10-09| US20130339582A1|2013-12-19| US20090172263A1|2009-07-02| US9483210B2|2016-11-01| US8621138B2|2013-12-31| US20090172261A1|2009-07-02| US20090168525A1|2009-07-02| EP2225642B1|2016-11-16| US8621137B2|2013-12-31| US20090172259A1|2009-07-02| US8738841B2|2014-05-27| WO2009086419A1|2009-07-09| WO2009086365A1|2009-07-09| US8533384B2|2013-09-10| US8245101B2|2012-08-14| JP5272019B2|2013-08-28| CN101965559A|2011-02-02| CN103150275A|2013-06-12| WO2009086371A1|2009-07-09| US7978516B2|2011-07-12| WO2009086421A1|2009-07-09| US20130262753A1|2013-10-03| US8959283B2|2015-02-17| WO2009086357A1|2009-07-09| US8762620B2|2014-06-24| US8386700B2|2013-02-26| WO2009086404A1|2009-07-09| EP2225642A4|2012-03-28| US9158677B2|2015-10-13| WO2009086359A1|2009-07-09| US20120072654A1|2012-03-22| US20090172308A1|2009-07-02| US20140101378A1|2014-04-10| US20140108715A1|2014-04-17|
引用文献:
公开号 | 申请日 | 公开日 | 申请人 | 专利标题 JPS63237135A|1987-03-26|1988-10-03|Toshiba Corp|Task starting system for multi cpu system| JPH0594318A|1991-09-30|1993-04-16|Nec Corp|マルチcpuシステムの負荷平準化方式| JPH06149717A|1992-11-13|1994-05-31|Hitachi Ltd|磁気テープ装置システムのパススケジューリング方法| JP2002532806A|1998-12-18|2002-10-02|ユニシスコーポレーション|コンピュータ・システムの異なるパーティション中で複数のオペレーティング・システムを動作させ、異なるパーティションが共用メモリを介して相互に通信できるようにするコンピュータ・システムおよび方法| US6484224B1|1999-11-29|2002-11-19|Cisco Technology Inc.|Multi-interface symmetric multiprocessor| JP2001155001A|1999-11-30|2001-06-08|Matsushita Electric Ind Co Ltd|マルチプロセッサタスク制御方法及びタスク制御装置| US20030043829A1|2001-07-06|2003-03-06|Abbas Rashid|Cross-bar switch employing a multiple entry point FIFO| US6836815B1|2001-07-11|2004-12-28|Pasternak Solutions Llc|Layered crossbar for interconnection of multiple processors and shared memories| JP2006285778A|2005-04-01|2006-10-19|Hitachi Ltd|ストレージシステム及び記憶制御方法| WO2007072324A2|2005-12-20|2007-06-28|Nxp B.V.|Multi-processor circuit with shared memory banks|JP2013061790A|2011-09-13|2013-04-04|Toshiba Corp|メモリデバイス| KR20130066640A|2011-12-12|2013-06-20|애플 인크.|Lba 비트맵 사용| JP2014063511A|2008-10-13|2014-04-10|Micron Technology Inc|ソリッドステート記憶装置におけるトランスレーションレイヤ| WO2015162660A1|2014-04-21|2015-10-29|株式会社日立製作所|計算機システム| US9423979B2|2014-03-10|2016-08-23|Kabushiki Kaisha Toshiba|Memory system and memory controller for determining whether one or plurality of pointers can be stored in a second buffer and for executing data transfer between data buffer and host using the pointers| JP2018139118A|2013-12-02|2018-09-06|マイクロン テクノロジー, インク.|自律的メモリの方法及びシステム| TWI647702B|2017-12-08|2019-01-11|旺宏電子股份有限公司|記憶體控制器、記憶體系統及於一記憶體中管理資料配置的方法|US702017A|1902-01-10|1902-06-10|James A Chambers|Apparatus for drawing glass.| US797112A|1905-02-07|1905-08-15|Alexandre De Hemptinne|Process of converting oleic acid into stearic acid.| US4173737A|1978-05-04|1979-11-06|Zenith Radio Corporation|Limited position, non-volatile memory tuning system| US4888750A|1986-03-07|1989-12-19|Kryder Mark H|Method and system for erase before write magneto-optic recording| US4916652A|1987-09-30|1990-04-10|International Business Machines Corporation|Dynamic multiple instruction stream multiple data multiple pipeline apparatus for floating-point single instruction stream single data architectures| US5129089A|1987-12-18|1992-07-07|Digital Equipment Corporation|Distributed interlock apparatus and distributed interlock management method| US5270979A|1991-03-15|1993-12-14|Sundisk Corporation|Method for optimum erasing of EEPROM| US5657332A|1992-05-20|1997-08-12|Sandisk Corporation|Soft errors handling in EEPROM devices| US5381528A|1992-10-15|1995-01-10|Maxtor Corporation|Demand allocation of read/write buffer partitions favoring sequential read cache| US5416915A|1992-12-11|1995-05-16|International Business Machines Corporation|Method and system for minimizing seek affinity and enhancing write sensitivity in a DASD array| US5404485A|1993-03-08|1995-04-04|M-Systems Flash Disk Pioneers Ltd.|Flash file system| US5537555A|1993-03-22|1996-07-16|Compaq Computer Corporation|Fully pipelined and highly concurrent memory controller| US5329491A|1993-06-30|1994-07-12|Intel Corporation|Nonvolatile memory card with automatic power supply configuration| US5519847A|1993-06-30|1996-05-21|Intel Corporation|Method of pipelining sequential writes in a flash memory| US5708849A|1994-01-26|1998-01-13|Intel Corporation|Implementing scatter/gather operations in a direct memory access device on a personal computer| US5488702A|1994-04-26|1996-01-30|Unisys Corporation|Data block check sequence generation and validation in a file cache system| US5696917A|1994-06-03|1997-12-09|Intel Corporation|Method and apparatus for performing burst read operations in an asynchronous nonvolatile memory| GB9419246D0|1994-09-23|1994-11-09|Cambridge Consultants|Data processing circuits and interfaces| US5666114A|1994-11-22|1997-09-09|International Business Machines Corporation|Method and means for managing linear mapped address spaces storing compressed data at the storage subsystem control unit or device level| US5530705A|1995-02-08|1996-06-25|International Business Machines Corporation|Soft error recovery system and method| US5636342A|1995-02-17|1997-06-03|Dell Usa, L.P.|Systems and method for assigning unique addresses to agents on a system management bus| US5606532A|1995-03-17|1997-02-25|Atmel Corporation|EEPROM array with flash-like core| KR100404650B1|1995-06-14|2004-02-11|히다치초엘에스아이 엔지니어링가부시키가이샤|반도체메모리,메모리디바이스및메모리카드| US5890193A|1995-07-28|1999-03-30|Micron Technology, Inc.|Architecture for state machine for controlling internal operations of flash memory| US6728851B1|1995-07-31|2004-04-27|Lexar Media, Inc.|Increasing the memory performance of flash memory devices by writing sectors simultaneously to multiple flash memory devices| US5790459A|1995-08-04|1998-08-04|Micron Quantum Devices, Inc.|Memory circuit for performing threshold voltage tests on cells of a memory array| US5815434A|1995-09-29|1998-09-29|Intel Corporation|Multiple writes per a single erase for a nonvolatile memory| US6044472A|1996-06-21|2000-03-28|Archos|Device and method for supplying power to an external data medium reader unit connected to a computer, and external reader unit including this device| TW334532B|1996-07-05|1998-06-21|Matsushita Electric Ind Co Ltd|The inspection system of semiconductor IC and the method of generation| US6134148A|1997-09-30|2000-10-17|Hitachi, Ltd.|Semiconductor integrated circuit and data processing system| JPH10124381A|1996-10-21|1998-05-15|Mitsubishi Electric Corp|半導体記憶装置| US5943692A|1997-04-30|1999-08-24|International Business Machines Corporation|Mobile client computer system with flash memory management utilizing a virtual address map and variable length data| US6006345A|1997-05-09|1999-12-21|International Business Machines Corporation|Pattern generator for memory burn-in and test| US6000006A|1997-08-25|1999-12-07|Bit Microsystems, Inc.|Unified re-map and cache-index table with dual write-counters for wear-leveling of non-volatile flash RAM mass storage| JPH11126497A|1997-10-22|1999-05-11|Oki Electric Ind Co Ltd|不揮発性半導体記憶装置| US6018304A|1997-12-18|2000-01-25|Texas Instruments Incorporated|Method and apparatus for high-rate n/n+1 low-complexity modulation codes with adjustable codeword length and error control capability| US6070074A|1998-04-24|2000-05-30|Trw Inc.|Method for enhancing the performance of a regenerative satellite communications system| US6138261A|1998-04-29|2000-10-24|Trw Inc.|Concatenated coding system for satellite communications| US6182264B1|1998-05-22|2001-01-30|Vlsi Technology, Inc.|Smart dynamic selection of error correction methods for DECT based data services| US7111293B1|1998-06-03|2006-09-19|Ants Software, Inc.|Method for increased concurrency in a computer system| US6192092B1|1998-06-15|2001-02-20|Intel Corp.|Method and apparatus for clock skew compensation| US6260120B1|1998-06-29|2001-07-10|Emc Corporation|Storage mapping and partitioning among multiple host processors in the presence of login state changes and host controller replacement| US6505305B1|1998-07-16|2003-01-07|Compaq Information Technologies Group, L.P.|Fail-over of multiple memory blocks in multiple memory modules in computer system| US6295592B1|1998-07-31|2001-09-25|Micron Technology, Inc.|Method of processing memory requests in a pipelined memory controller| US6233625B1|1998-11-18|2001-05-15|Compaq Computer Corporation|System and method for applying initialization power to SCSI devices| US6288860B1|1999-01-04|2001-09-11|Maxtor Corporation|Servo area numbering strategy for computer disk drives| US6438661B1|1999-03-03|2002-08-20|International Business Machines Corporation|Method, system, and program for managing meta data in a storage system and rebuilding lost meta data in cache| US6449625B1|1999-04-20|2002-09-10|Lucent Technologies Inc.|Use of a two-way stack approach to optimize flash memory management for embedded database systems| US6728879B1|1999-06-02|2004-04-27|Microsoft Corporation|Transactional log with multi-sector log block validation| US20080282128A1|1999-08-04|2008-11-13|Super Talent Electronics, Inc.|Method of Error Correction Code on Solid State Disk to Gain Data Security and Higher Performance| US6564271B2|1999-06-09|2003-05-13|Qlogic Corporation|Method and apparatus for automatically transferring I/O blocks between a host system and a host adapter| US6104304A|1999-07-06|2000-08-15|Conexant Systems, Inc.|Self-test and status reporting system for microcontroller-controlled devices| US8037234B2|2003-12-02|2011-10-11|Super Talent Electronics, Inc.|Command queuing smart storage transfer manager for striping data to raw-NAND flash modules| US7620769B2|2000-01-06|2009-11-17|Super Talent Electronics, Inc.|Recycling partially-stale flash blocks using a sliding window for multi-level-cell flash memory| US7333364B2|2000-01-06|2008-02-19|Super Talent Electronics, Inc.|Cell-downgrading and reference-voltage adjustment for a multi-bit-cell flash memory| US6412042B1|1999-11-17|2002-06-25|Maxtor Corporation|System and method for improved disk drive performance and reliability| DE19961138C2|1999-12-17|2001-11-22|Siemens Ag|Multiport RAM memory device| US8959280B2|2008-06-18|2015-02-17|Super Talent Technology, Corp.|Super-endurance solid-state drive with endurance translation layer and diversion of temp files for reduced flash wear| US20080147964A1|2004-02-26|2008-06-19|Chow David Q|Using various flash memory cells to build usb data flash cards with multiple partitions and autorun function| US6339338B1|2000-01-18|2002-01-15|Formfactor, Inc.|Apparatus for reducing power supply noise in an integrated circuit| US20020152305A1|2000-03-03|2002-10-17|Jackson Gregory J.|Systems and methods for resource utilization analysis in information management environments| US6516437B1|2000-03-07|2003-02-04|General Electric Company|Turbo decoder control for use with a programmable interleaver, variable block length, and multiple code rates| JP3555859B2|2000-03-27|2004-08-18|広島日本電気株式会社|半導体生産システム及び半導体装置の生産方法| US6629047B1|2000-03-30|2003-09-30|Intel Corporation|Method and apparatus for flash voltage detection and lockout| WO2005048134A2|2002-05-21|2005-05-26|Washington University|Intelligent data storage and processing using fpga devices| US20030188045A1|2000-04-13|2003-10-02|Jacobson Michael B.|System and method for distributing storage controller tasks| US6647387B1|2000-04-27|2003-11-11|International Business Machine Corporation|System, apparatus, and method for enhancing storage management in a storage area network| US6615307B1|2000-05-10|2003-09-02|Micron Technology, Inc.|Flash with consistent latency for read operations| US6678788B1|2000-05-26|2004-01-13|Emc Corporation|Data type and topological data categorization and ordering for a mass storage system| US6934755B1|2000-06-02|2005-08-23|Sun Microsystems, Inc.|System and method for migrating processes on a network| US6442076B1|2000-06-30|2002-08-27|Micron Technology, Inc.|Flash memory with multiple status reading capability| US6980985B1|2000-08-30|2005-12-27|At&T Corp.|Distributed evalulation of directory queries using a topology cache| US6941505B2|2000-09-12|2005-09-06|Hitachi, Ltd.|Data processing system and data processing method| US6865650B1|2000-09-29|2005-03-08|Emc Corporation|System and method for hierarchical data storage| US7028165B2|2000-12-06|2006-04-11|Intel Corporation|Processor stalling| US6862651B2|2000-12-20|2005-03-01|Microsoft Corporation|Automotive computing devices with emergency power shut down capabilities| US6738870B2|2000-12-22|2004-05-18|International Business Machines Corporation|High speed remote storage controller| KR100381955B1|2001-01-03|2003-04-26|삼성전자주식회사|기입 드라이버를 이용한 셀 전류 측정 스킴을 갖는 플래시메모리 장치| US6763424B2|2001-01-19|2004-07-13|Sandisk Corporation|Partial block data programming and reading operations in a non-volatile memory| US20020156973A1|2001-01-29|2002-10-24|Ulrich Thomas R.|Enhanced disk array| JPWO2002082435A1|2001-03-30|2004-07-29|富士通株式会社|記憶装置及びそのフォーカス制御方法| US7017107B2|2001-04-30|2006-03-21|Sun Microsystems, Inc.|Storage array employing scrubbing operations at the disk-controller level| US6938253B2|2001-05-02|2005-08-30|Portalplayer, Inc.|Multiprocessor communication system and method| US6757768B1|2001-05-17|2004-06-29|Cisco Technology, Inc.|Apparatus and technique for maintaining order among requests issued over an external bus of an intermediate network node| JP4256600B2|2001-06-19|2009-04-22|Tdk株式会社|メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム及びフラッシュメモリの制御方法| US6928602B2|2001-07-18|2005-08-09|Sony Corporation|Encoding method and encoder| JP4569055B2|2001-08-06|2010-10-27|ソニー株式会社|信号処理装置及び信号処理方法| TW539946B|2001-08-07|2003-07-01|Solid State System Company Ltd|Window-based flash memory storage system, and the management method and the access method thereof| JP4437519B2|2001-08-23|2010-03-24|スパンションエルエルシー|多値セルメモリ用のメモリコントローラ| US7028213B2|2001-09-28|2006-04-11|Hewlett-Packard Development Company, L.P.|Error indication in a raid memory system| US7032123B2|2001-10-19|2006-04-18|Sun Microsystems, Inc.|Error recovery| JP3663377B2|2001-10-23|2005-06-22|インターナショナル・ビジネス・マシーンズ・コーポレーションInternationalBusinessMaschinesCorporation|データ記憶装置、読み出しデータの処理装置および読み出しデータの処理方法| US7380085B2|2001-11-14|2008-05-27|Intel Corporation|Memory adapted to provide dedicated and or shared memory to multiple processors and method therefor| US6798696B2|2001-12-04|2004-09-28|Renesas Technology Corp.|Method of controlling the operation of non-volatile semiconductor memory chips| US6582257B1|2001-12-17|2003-06-24|Alstom|Propulsion unit| US6871257B2|2002-02-22|2005-03-22|Sandisk Corporation|Pipelined parallel programming operation in a non-volatile memory system| US6836808B2|2002-02-25|2004-12-28|International Business Machines Corporation|Pipelined packet processing| US7533214B2|2002-02-27|2009-05-12|Microsoft Corporation|Open architecture flash driver| KR100476888B1|2002-04-04|2005-03-17|삼성전자주식회사|온도보상기능을 가진 멀티비트 플래쉬메모리| AUPS193202A0|2002-04-23|2002-05-30|Pickup, Robert Barkley Mr|A method and system for authorising electronic mail| JP4079684B2|2002-05-08|2008-04-23|株式会社日立製作所|ヒープメモリ管理方法およびそれを用いた計算機システム| US6966006B2|2002-05-09|2005-11-15|International Business Machines Corporation|Adaptive startup policy for accelerating multi-disk array spin-up| US6895464B2|2002-06-03|2005-05-17|Honeywell International Inc.|Flash memory management system and method utilizing multiple block list windows| US6885530B2|2002-06-11|2005-04-26|Stmicroelectronics, Inc.|Power limiting time delay circuit| US7685254B2|2003-06-10|2010-03-23|Pandya Ashish A|Runtime adaptable search processor| KR100484147B1|2002-07-26|2005-04-18|삼성전자주식회사|플래시 메모리 관리 방법| US7881133B2|2003-11-11|2011-02-01|Samsung Electronics Co., Ltd.|Method of managing a flash memory and the flash memory| US7051155B2|2002-08-05|2006-05-23|Sun Microsystems, Inc.|Method and system for striping data to accommodate integrity metadata| US6978343B1|2002-08-05|2005-12-20|Netlogic Microsystems, Inc.|Error-correcting content addressable memory| US20040045009A1|2002-08-29|2004-03-04|Bae Systems Information Electronic Systems Integration, Inc.|Observation tool for signal processing components| US8050085B2|2002-08-29|2011-11-01|Renesas Electronics Corporation|Semiconductor processing device and IC card| US7120856B2|2002-09-25|2006-10-10|Leanics Corporation|LDPC code and encoder/decoder regarding same| JP2004178782A|2002-10-04|2004-06-24|Sharp Corp|半導体記憶装置およびその制御方法および携帯電子機器| KR100457812B1|2002-11-14|2004-11-18|삼성전자주식회사|플래시 메모리, 그에 따른 플래시 메모리 액세스 장치 및방법| US7399043B2|2002-12-02|2008-07-15|Silverbrook Research Pty Ltd|Compensation for uneven printhead module lengths in a multi-module printhead| US20040114265A1|2002-12-16|2004-06-17|Xerox Corporation|User-selectable automatic secure data file erasure of job after job completion| US7155579B1|2002-12-27|2006-12-26|Unisys Corporation|Memory controller having programmable initialization sequence| US20040153902A1|2003-01-21|2004-08-05|Nexflash Technologies, Inc.|Serial flash integrated circuit having error detection and correction| US7296216B2|2003-01-23|2007-11-13|Broadcom Corporation|Stopping and/or reducing oscillations in low density parity check decoding| US7043505B1|2003-01-28|2006-05-09|Unisys Corporation|Method variation for collecting stability data from proprietary systems| JP4110000B2|2003-01-28|2008-07-02|株式会社ルネサステクノロジ|記憶装置| JP2004240555A|2003-02-04|2004-08-26|Fujitsu Ltd|バッテリ運用制御装置、バッテリ運用制御方法およびバッテリ運用制御プログラム| US7478096B2|2003-02-26|2009-01-13|Burnside Acquisition, Llc|History preservation in a computer storage system| US7162678B2|2003-03-14|2007-01-09|Quantum Corporation|Extended error correction codes| KR100543447B1|2003-04-03|2006-01-23|삼성전자주식회사|에러정정기능을 가진 플래쉬메모리장치| US7527466B2|2003-04-03|2009-05-05|Simmons Robert J|Building-erection structural member transporter| KR100526186B1|2003-04-04|2005-11-03|삼성전자주식회사|플래시 메모리의 오류블록 관리방법 및 장치| WO2004099985A1|2003-05-09|2004-11-18|Fujitsu Limited|実行環境の危険予測/回避方法,システム,プログラムおよびその記録媒体| US7877647B2|2003-05-23|2011-01-25|Hewlett-Packard Development Company, L.P.|Correcting a target address in parallel with determining whether the target address was received in error| US7076598B2|2003-09-09|2006-07-11|Solid State System Co., Ltd.|Pipeline accessing method to a large block memory| US7660941B2|2003-09-10|2010-02-09|Super Talent Electronics, Inc.|Two-level RAM lookup table for block and page allocation and wear-leveling in limited-write flash-memories| US7100002B2|2003-09-16|2006-08-29|Denali Software, Inc.|Port independent data transaction interface for multi-port devices| US7054968B2|2003-09-16|2006-05-30|Denali Software, Inc.|Method and apparatus for multi-port memory controller| US7523157B2|2003-09-25|2009-04-21|International Business Machines Corporation|Managing a plurality of processors as devices| US7173852B2|2003-10-03|2007-02-06|Sandisk Corporation|Corrected data storage and handling methods| US7012835B2|2003-10-03|2006-03-14|Sandisk Corporation|Flash memory data correction and scrub techniques| TW200516821A|2003-11-14|2005-05-16|Hon Hai Prec Ind Co Ltd|System and method for starting up devices orderly| US20050114587A1|2003-11-22|2005-05-26|Super Talent Electronics Inc.|ExpressCard with On-Card Flash Memory with Shared Flash-Control Bus but Separate Ready Lines| US7401174B2|2003-12-16|2008-07-15|Matsushita Electric Industrial Co., Ltd.|File system defragmentation and data processing method and apparatus for an information recording medium| US7376887B2|2003-12-22|2008-05-20|International Business Machines Corporation|Method for fast ECC memory testing by software including ECC check byte| US7197652B2|2003-12-22|2007-03-27|International Business Machines Corporation|Method and system for energy management in a simultaneous multi-threaded processing system including per-thread device usage monitoring| US7383375B2|2003-12-30|2008-06-03|Sandisk Corporation|Data run programming| US8504798B2|2003-12-30|2013-08-06|Sandisk Technologies Inc.|Management of non-volatile memory systems having large erase blocks| US7631138B2|2003-12-30|2009-12-08|Sandisk Corporation|Adaptive mode switching of flash memory address mapping based on host usage characteristics| US20050144516A1|2003-12-30|2005-06-30|Gonzalez Carlos J.|Adaptive deterministic grouping of blocks into multi-block units| US7631148B2|2004-01-08|2009-12-08|Netapp, Inc.|Adaptive file readahead based on multiple factors| JP4357304B2|2004-01-09|2009-11-04|株式会社バッファロー|外部記憶装置| US7328377B1|2004-01-27|2008-02-05|Altera Corporation|Error correction for programmable logic integrated circuits| JP4477365B2|2004-01-29|2010-06-09|株式会社日立製作所|複数インタフェースを有する記憶装置、および、その記憶装置の制御方法| US7389465B2|2004-01-30|2008-06-17|Micron Technology, Inc.|Error detection and correction scheme for a memory device| US7350044B2|2004-01-30|2008-03-25|Micron Technology, Inc.|Data move method and apparatus| US7318117B2|2004-02-26|2008-01-08|Super Talent Electronics, Inc.|Managing flash memory including recycling obsolete sectors| US7082056B2|2004-03-12|2006-07-25|Super Talent Electronics, Inc.|Flash memory device and architecture with multi level cells| JP2005266861A|2004-03-16|2005-09-29|Nec Electronics Corp|マイクロコンピュータ及びそのテスト方法| US7035159B2|2004-04-01|2006-04-25|Micron Technology, Inc.|Techniques for storing accurate operating current values| US7020017B2|2004-04-06|2006-03-28|Sandisk Corporation|Variable programming of non-volatile memory| US20050251617A1|2004-05-07|2005-11-10|Sinclair Alan W|Hybrid non-volatile memory system| US7490283B2|2004-05-13|2009-02-10|Sandisk Corporation|Pipelined data relocation and improved chip architectures| JP2005332471A|2004-05-19|2005-12-02|Hitachi Ltd|ディスクアレイ装置| US20050273560A1|2004-06-03|2005-12-08|Hulbert Jared E|Method and apparatus to avoid incoherency between a cache memory and flash memory| US7334179B2|2004-06-04|2008-02-19|Broadcom Corporation|Method and system for detecting and correcting errors while accessing memory devices in microprocessor systems| US7159069B2|2004-06-23|2007-01-02|Atmel Corporation|Simultaneous external read operation during internal programming in a flash memory device| US7126873B2|2004-06-29|2006-10-24|Super Talent Electronics, Inc.|Method and system for expanding flash storage device capacity| US7529898B2|2004-07-09|2009-05-05|International Business Machines Corporation|Method for backing up and restoring data| US8190808B2|2004-08-17|2012-05-29|Rambus Inc.|Memory device having staggered memory operations| KR20070060101A|2004-08-30|2007-06-12|실리콘 스토리지 테크놀로지 인크|System and method for nonvolatile memory management in wireless terminal| FR2875358B1|2004-09-15|2006-12-15|Eads Telecom Soc Par Actions S|Insertion d'un flux secondaire d'informations binaires dans un flux principal de symboles d'une modulation numerique| US7038948B2|2004-09-22|2006-05-02|Spansion Llc|Read approach for multi-level virtual ground memory| JP2006099665A|2004-09-30|2006-04-13|Hitachi Global Storage Technologies Netherlands Bv|データ記憶装置及びそのシリアル・インターフェース部のパワー・セーブ・モードの制御方法| US7760880B2|2004-10-13|2010-07-20|Viasat, Inc.|Decoder architecture system and method| JP4956922B2|2004-10-27|2012-06-20|ソニー株式会社|記憶装置| KR100695891B1|2004-11-17|2007-03-19|삼성전자주식회사|동작 모드에 따라 락 아웃을 선택적으로 수행하는 장치 및방법| US7395404B2|2004-12-16|2008-07-01|Sandisk Corporation|Cluster auto-alignment for storing addressable data packets in a non-volatile memory array| US20060136681A1|2004-12-21|2006-06-22|Sanjeev Jain|Method and apparatus to support multiple memory banks with a memory block| EP1829223B1|2004-12-22|2013-02-13|LG Electronics Inc.|Parallel, layered decoding for Low-Density Parity-Check codes| US20060156177A1|2004-12-29|2006-07-13|Sailesh Kottapalli|Method and apparatus for recovering from soft errors in register files| US7212440B2|2004-12-30|2007-05-01|Sandisk Corporation|On-chip data grouping and alignment| US7657696B2|2005-02-25|2010-02-02|Lsi Corporation|Method to detect NAND-flash parameters by hardware automatically| US7822912B2|2005-03-14|2010-10-26|Phision Electronics Corp.|Flash storage chip and flash array storage system| US7251160B2|2005-03-16|2007-07-31|Sandisk Corporation|Non-volatile memory and method with power-saving read and program-verify operations| JP2006277395A|2005-03-29|2006-10-12|Matsushita Electric Ind Co Ltd|情報処理装置及び情報処理方法| US7707232B2|2005-05-13|2010-04-27|Microsoft Corporation|Implementation for collecting unmanaged memory| US7765454B2|2005-05-24|2010-07-27|Sgi International, Inc.|Fault tolerant memory system| US7283395B2|2005-06-24|2007-10-16|Infineon Technologies Flash Gmbh & Co. Kg|Memory device and method for operating the memory device| EP1897223A1|2005-06-27|2008-03-12|Thomson Licensing S.A.|Stopping criteria in iterative decoders| US7669003B2|2005-08-03|2010-02-23|Sandisk Corporation|Reprogrammable non-volatile memory systems with indexing of directly stored data files| US7409489B2|2005-08-03|2008-08-05|Sandisk Corporation|Scheduling of reclaim operations in non-volatile memory| US7934049B2|2005-09-14|2011-04-26|Sandisk Corporation|Methods used in a secure yet flexible system architecture for secure devices with flash mass storage memory| KR100705220B1|2005-09-15|2007-04-06|주식회사 하이닉스반도체|프로그램 속도를 증가시키기 위한 플래시 메모리 장치의소거 및 프로그램 방법| US20080256415A1|2005-09-27|2008-10-16|Nxp B.V.|Error Detection/Correction Circuit as Well as Corresponding Method| US7652922B2|2005-09-30|2010-01-26|Mosaid Technologies Incorporated|Multiple independent serial link memory| KR100715147B1|2005-10-06|2007-05-10|삼성전자주식회사|전류소모를 감소시키는 내부전원전압 발생회로를 가지는멀티칩 반도체 메모리 장치| US20070083697A1|2005-10-07|2007-04-12|Microsoft Corporation|Flash memory management| US8223553B2|2005-10-12|2012-07-17|Macronix International Co., Ltd.|Systems and methods for programming a memory device| US7743363B2|2005-10-13|2010-06-22|Microsoft Corporation|Extensible meta-data| US7954037B2|2005-10-25|2011-05-31|Sandisk Il Ltd|Method for recovering from errors in flash memory| US8006161B2|2005-10-26|2011-08-23|Samsung Electronics Co., Ltd|Apparatus and method for receiving signal in a communication system using a low density parity check code| US7631162B2|2005-10-27|2009-12-08|Sandisck Corporation|Non-volatile memory with adaptive handling of data writes| KR100966043B1|2005-10-31|2010-06-25|삼성전자주식회사|저밀도 패리티 검사 부호를 사용하는 통신 시스템에서 신호 송수신 장치 및 방법| US7606812B2|2005-11-04|2009-10-20|Sun Microsystems, Inc.|Dynamic intent log| US7500062B2|2005-11-17|2009-03-03|International Business Machines Corporation|Fast path memory read request processing in a multi-level memory architecture| WO2007058617A1|2005-11-17|2007-05-24|Chee Keng Chang|A controller for non-volatile memories, and methods of operating the memory controller| US8813052B2|2005-12-07|2014-08-19|Microsoft Corporation|Cache metadata for implementing bounded transactional memory| US7562283B2|2005-12-27|2009-07-14|D.S.P. Group Ltd.|Systems and methods for error correction using binary coded hexidecimal or hamming decoding| US7546515B2|2005-12-27|2009-06-09|Sandisk Corporation|Method of storing downloadable firmware on bulk media| US7349264B2|2005-12-28|2008-03-25|Sandisk Corporation|Alternate sensing techniques for non-volatile memories| US7716180B2|2005-12-29|2010-05-11|Amazon Technologies, Inc.|Distributed storage system with web services client interface| US7742339B2|2006-01-10|2010-06-22|Saifun Semiconductors Ltd.|Rd algorithm improvement for NROM technology| US8020060B2|2006-01-18|2011-09-13|Sandisk Il Ltd|Method of arranging data in a multi-level cell memory device| KR100725410B1|2006-01-20|2007-06-07|삼성전자주식회사|전원 상태에 따라 비휘발성 메모리의 블록 회수를 수행하는장치 및 그 방법| US20070234143A1|2006-01-25|2007-10-04|Samsung Electronics Co., Ltd.|Semiconductor memory devices and methods of testing for failed bits of semiconductor memory devices| JP4859471B2|2006-02-02|2012-01-25|株式会社日立製作所|ストレージシステム及びストレージコントローラ| US7546478B2|2006-02-10|2009-06-09|International Business Machines Corporation|Apparatus and method to provide power to a plurality of data storage devices disposed in a data storage system| US7590473B2|2006-02-16|2009-09-15|Intel Corporation|Thermal management using an on-die thermal sensor| JP4863749B2|2006-03-29|2012-01-25|株式会社日立製作所|フラッシュメモリを用いた記憶装置、その消去回数平準化方法、及び消去回数平準化プログラム| US7681106B2|2006-03-29|2010-03-16|Freescale Semiconductor, Inc.|Error correction device and methods thereof| US20070245061A1|2006-04-13|2007-10-18|Intel Corporation|Multiplexing a parallel bus interface and a flash memory interface| US7685494B1|2006-05-08|2010-03-23|Marvell International, Ltd.|Error correction coding for varying signal-to-noise ratio channels| US8000134B2|2006-05-15|2011-08-16|Apple Inc.|Off-die charge pump that supplies multiple flash devices| US7707481B2|2006-05-16|2010-04-27|Pitney Bowes Inc.|System and method for efficient uncorrectable error detection in flash memory| US20070300130A1|2006-05-17|2007-12-27|Sandisk Corporation|Method of Error Correction Coding for Multiple-Sector Pages in Flash Memory Devices| US7701764B2|2006-05-17|2010-04-20|Micron Technology, Inc.|Apparatus and method for reduced peak power consumption during common operation of multi-NAND flash memory devices| US7606084B2|2006-06-19|2009-10-20|Sandisk Corporation|Programming differently sized margins and sensing with compensations at select states for improved read operations in non-volatile memory| EP1870814B1|2006-06-19|2014-08-13|Texas Instruments France|Method and apparatus for secure demand paging for processor devices| JP4842719B2|2006-06-28|2011-12-21|株式会社日立製作所|Storage system and data protection method thereof| US8006160B2|2006-06-29|2011-08-23|Digital Fountain, Inc.|Efficient encoding and decoding methods for representing schedules and processing forward error correction codes| US7774684B2|2006-06-30|2010-08-10|Intel Corporation|Reliability, availability, and serviceability in a memory device| US7403438B2|2006-07-12|2008-07-22|Infineon Technologies Flash Gmbh & Co. Kg|Memory array architecture and method for high-speed distribution measurements| JP2008047273A|2006-07-20|2008-02-28|Toshiba Corp|半導体記憶装置およびその制御方法| US7831895B2|2006-07-25|2010-11-09|Communications Coding Corporation|Universal error control coding system for digital communication and data storage systems| US7870326B2|2006-07-28|2011-01-11|Samsung Electronics Co., Ltd.|Multiprocessor system and method thereof| TW200813724A|2006-07-28|2008-03-16|Samsung Electronics Co Ltd|Multipath accessible semiconductor memory device with host interface between processors| US20080052446A1|2006-08-28|2008-02-28|Sandisk Il Ltd.|Logical super block mapping for NAND flash memory| US7450425B2|2006-08-30|2008-11-11|Micron Technology, Inc.|Non-volatile memory cell read failure reduction| JP2008059315A|2006-08-31|2008-03-13|Hitachi Ltd|負荷分散方法及び計算機システム| US7566987B2|2006-09-14|2009-07-28|Lutron Electronics Co., Inc.|Method of powering up a plurality of loads in sequence| KR100843133B1|2006-09-20|2008-07-02|삼성전자주식회사|플래시 메모리에서 매핑 정보 재구성을 위한 장치 및 방법| TWI319664B|2006-09-25|2010-01-11|Sunplus Technology Co Ltd|| US7886204B2|2006-09-27|2011-02-08|Sandisk Corporation|Methods of cell population distribution assisted read margining| US8171380B2|2006-10-10|2012-05-01|Marvell World Trade Ltd.|Adaptive systems and methods for storing and retrieving data to and from memory cells| CN100596029C|2006-10-20|2010-03-24|北京泰美世纪科技有限公司|Ldpc码校验矩阵构造方法及利用该方法的编码解码装置| JP2008117195A|2006-11-06|2008-05-22|Hitachi Ltd|半導体記憶装置| TWI307100B|2006-11-07|2009-03-01|Macronix Int Co Ltd|Memory and method for reading error checking thereof| US7508703B2|2006-11-13|2009-03-24|Sandisk Corporation|Non-volatile memory with boost structures| US8074011B2|2006-12-06|2011-12-06|Fusion-Io, Inc.|Apparatus, system, and method for storage space recovery after reaching a read count limit| KR20090087119A|2006-12-06|2009-08-14|퓨전 멀티시스템즈, 인크.|빈 데이터 토큰 지시어를 사용한 저장 장치 내의 데이터 관리 장치, 시스템 및 방법| KR100808664B1|2006-12-08|2008-03-07|삼성전자주식회사|패리티 검사행렬 저장 방법 및 이를 이용한 블록 저밀도패리티 검사 부호화 방법 및 장치| WO2008075292A2|2006-12-18|2008-06-26|Nxp B.V.|Power-on temperature sensor/spd detect| KR100881669B1|2006-12-18|2009-02-06|삼성전자주식회사|비휘발성 데이터 저장장치의 정적 데이터 영역 검출 방법,마모도 평준화 방법 및 데이터 유닛 병합 방법과 그 장치| US7620781B2|2006-12-19|2009-11-17|Intel Corporation|Efficient Bloom filter| KR100842680B1|2007-01-08|2008-07-01|삼성전자주식회사|플래시 메모리 장치의 오류 정정 컨트롤러 및 그것을포함하는 메모리 시스템| US7603490B2|2007-01-10|2009-10-13|International Business Machines Corporation|Barrier and interrupt mechanism for high latency and out of order DMA device| KR100855587B1|2007-01-17|2008-09-01|삼성전자주식회사|메일박스 영역을 가지는 멀티 패스 액세스블 반도체 메모리장치 및 그에 따른 메일박스 액세스 제어방법| US7707461B2|2007-01-31|2010-04-27|Hewlett-Packard Development Company, L.P.|Digital media drive failure prediction system and method| US7596643B2|2007-02-07|2009-09-29|Siliconsystems, Inc.|Storage subsystem with configurable buffer| US7913022B1|2007-02-14|2011-03-22|Xilinx, Inc.|Port interface modules in a multi-port memory controller | KR100918707B1|2007-03-12|2009-09-23|삼성전자주식회사|플래시 메모리를 기반으로 한 메모리 시스템| CN101715595A|2007-03-12|2010-05-26|爱诺彼得技术有限责任公司|存储器单元读取阈的自适应估计| JP4897524B2|2007-03-15|2012-03-14|株式会社日立製作所|ストレージシステム及びストレージシステムのライト性能低下防止方法| KR100907218B1|2007-03-28|2009-07-10|삼성전자주식회사|읽기 레벨 제어 장치 및 그 방법| WO2008121553A1|2007-03-29|2008-10-09|Sandisk Corporation|Non-volatile storage with decoding of data using reliability metrics based on multiple reads| WO2008121577A1|2007-03-31|2008-10-09|Sandisk Corporation|Soft bit data transmission for error correction control in non-volatile memory| US8032724B1|2007-04-04|2011-10-04|Marvell International Ltd.|Demand-driven opportunistic garbage collection in memory components| US7996642B1|2007-04-25|2011-08-09|Marvell International Ltd.|Digital locked loop on channel tagged memory requests for memory optimization| EP1988474A1|2007-05-04|2008-11-05|Axalto SA|System and method of managing indexation of flash memory| US8151171B2|2007-05-07|2012-04-03|Broadcom Corporation|Operational parameter adaptable LDPC decoder| US8073648B2|2007-05-14|2011-12-06|Sandisk Il Ltd.|Measuring threshold voltage distribution in memory using an aggregate characteristic| US7930547B2|2007-06-15|2011-04-19|Alcatel-Lucent Usa Inc.|High accuracy bloom filter using partitioned hashing| KR100891005B1|2007-06-28|2009-03-31|삼성전자주식회사|고온 스트레스로 인한 읽기 마진의 감소를 보상하기 위한플래시 메모리 장치 및 그것의 읽기 전압 조정 방법| US7778070B2|2007-06-29|2010-08-17|Qimonda Ag|Memory with dynamic redundancy configuration| JP2009020986A|2007-07-15|2009-01-29|Hitachi Global Storage Technologies Netherlands Bv|ディスク・ドライブ装置及びディスク・ドライブ装置において不揮発性半導体メモリ領域上のデータを管理するテーブルを保存する方法| US8024525B2|2007-07-25|2011-09-20|Digi-Data Corporation|Storage control unit with memory cache protection via recorded log| US8724789B2|2007-08-06|2014-05-13|Yellow Pages|Systems and methods to connect people for real time communications via directory assistance| JP4564520B2|2007-08-31|2010-10-20|株式会社東芝|半導体記憶装置およびその制御方法| US8095851B2|2007-09-06|2012-01-10|Siliconsystems, Inc.|Storage subsystem capable of adjusting ECC settings based on monitored conditions| JP4404125B2|2007-09-12|2010-01-27|株式会社デンソー|Electronic control device and signal monitoring circuit| JP5399403B2|2007-10-31|2014-01-29|アギアシステムズインコーポレーテッド|マルチレベルフラッシュメモリの系統誤差訂正| US7894264B2|2007-11-07|2011-02-22|Micron Technology, Inc.|Controlling a memory device responsive to degradation| US7945825B2|2007-11-25|2011-05-17|Spansion Isreal, Ltd|Recovery while programming non-volatile memory | US8429492B2|2007-11-30|2013-04-23|Marvell World Trade Ltd.|Error correcting code predication system and method| WO2009072104A2|2007-12-05|2009-06-11|Densbits Technologies Ltd.|Flash memory device with physical cell value deterioration accommodation and methods useful in conjunction therewith| US8185903B2|2007-12-13|2012-05-22|International Business Machines Corporation|Managing system resources| US8621137B2|2007-12-27|2013-12-31|Sandisk Enterprise Ip Llc|Metadata rebuild in a flash memory controller following a loss of power| EP2225643B1|2007-12-28|2020-05-06|Toshiba Memory Corporation|Semiconductor storage device| US20090172335A1|2007-12-31|2009-07-02|Anand Krishnamurthi Kulkarni|Flash devices with raid| US8159874B2|2008-01-22|2012-04-17|Micron Technology, Inc.|Cell operation monitoring| US8271515B2|2008-01-29|2012-09-18|Cadence Design Systems, Inc.|System and method for providing copyback data integrity in a non-volatile memory system| JP4617405B2|2008-02-05|2011-01-26|富士通株式会社|不良メモリを検出する電子機器、不良メモリ検出方法およびそのためのプログラム| US20090204823A1|2008-02-07|2009-08-13|Analog Devices, Inc.|Method and apparatus for controlling system access during protected modes of operation| JP2009211233A|2008-03-01|2009-09-17|Toshiba Corp|メモリシステム| JP4672743B2|2008-03-01|2011-04-20|株式会社東芝|誤り訂正装置および誤り訂正方法| US8230300B2|2008-03-07|2012-07-24|Apple Inc.|Efficient readout from analog memory cells using data compression| JP2009266349A|2008-04-28|2009-11-12|Toshiba Corp|不揮発性半導体記憶装置| US8185706B2|2008-04-30|2012-05-22|Apple Inc.|Copyback optimization for memory system| US8560901B2|2008-05-23|2013-10-15|Samsung Electronics Co., Ltd.|Apparatus, method and memory device for error correction by increasing or decreasing a read voltage and analyzing frequency information for a read error pattern| KR101412974B1|2008-05-28|2014-06-30|삼성전자주식회사|메모리 장치 및 메모리 프로그래밍 방법| KR101412690B1|2008-05-28|2014-06-27|삼성전자주식회사|메모리 장치 및 메모리 프로그래밍 방법| JP5072723B2|2008-06-11|2012-11-14|株式会社東芝|不揮発性半導体記憶装置| US8627169B2|2008-06-20|2014-01-07|Cadence Design Systems, Inc.|Method and apparatus for dynamically configurable multi level error correction| KR101413137B1|2008-07-04|2014-07-01|삼성전자주식회사|메모리 장치 및 메모리 프로그래밍 방법| US8037380B2|2008-07-08|2011-10-11|International Business Machines Corporation|Verifying data integrity of a non-volatile memory system during data caching process| US8325554B2|2008-07-10|2012-12-04|Sanmina-Sci Corporation|Battery-less cache memory module with integrated backup| KR101436506B1|2008-07-23|2014-09-02|삼성전자주식회사|메모리 장치 및 메모리 데이터 프로그래밍 방법| JP2010055692A|2008-08-28|2010-03-11|Toshiba Corp|読み出し回路及び読み出し方法| US8130552B2|2008-09-11|2012-03-06|Sandisk Technologies Inc.|Multi-pass programming for memory with reduced data storage requirement| US8429514B1|2008-09-24|2013-04-23|Network Appliance, Inc.|Dynamic load balancing of distributed parity in a RAID array| KR101484556B1|2008-10-28|2015-01-20|삼성전자주식회사|독출 보상 회로| US8023334B2|2008-10-31|2011-09-20|Micron Technology, Inc.|Program window adjust for memory cell signal line delay| US8214599B2|2008-11-04|2012-07-03|Gridiron Systems, Inc.|Storage device prefetch system using directed graph clusters| US9063874B2|2008-11-10|2015-06-23|SanDisk Technologies, Inc.|Apparatus, system, and method for wear management| US8773922B2|2008-11-10|2014-07-08|Samsung Electronics Co., Ltd.|Non-volatile memory device, memory card and system, and method determining read voltage by comparing referenced program data with comparative read data| KR20100058166A|2008-11-24|2010-06-03|삼성전자주식회사|불휘발성 메모리 장치 및 그것을 포함하는 메모리 시스템| KR101555022B1|2008-12-02|2015-09-23|삼성전자주식회사|메모리 장치, 그것을 포함한 메모리 시스템 및 그것의 맵핑정보 복원 방법| US8209466B2|2008-12-16|2012-06-26|Intel Corporation|Methods and systems to allocate addresses in a high-endurance/low-endurance hybrid flash memory| US9128699B2|2008-12-22|2015-09-08|Intel Corporation|Method and system for queuing transfers of multiple non-contiguous address ranges with a single command| KR101535225B1|2009-01-06|2015-07-09|삼성전자주식회사|디코딩 방법 및 그 방법을 이용하는 메모리 시스템 장치| CN101799783A|2009-01-19|2010-08-11|中国人民大学|一种数据存储处理方法、查找方法及其装置| KR100996009B1|2009-02-02|2010-11-22|주식회사 하이닉스반도체|불휘발성 메모리 소자 및 그 동작 방법| US8645749B2|2009-02-04|2014-02-04|Micron Technology, Inc.|Systems and methods for storing and recovering controller data in non-volatile memory devices| KR20100090439A|2009-02-06|2010-08-16|주식회사 하이닉스반도체|불휘발성 메모리 장치의 독출 방법 및 이를 구현하는 불휘발성 메모리 장치| US7830732B2|2009-02-11|2010-11-09|Stec, Inc.|Staged-backup flash backed dram module| KR20100093885A|2009-02-17|2010-08-26|삼성전자주식회사|불휘발성 메모리 장치, 그것의 동작 방법, 그리고 그것을 포함하는 메모리 시스템| US8661184B2|2010-01-27|2014-02-25|Fusion-Io, Inc.|Managing non-volatile media| US8380915B2|2010-01-27|2013-02-19|Fusion-Io, Inc.|Apparatus, system, and method for managing solid-state storage media| US8259506B1|2009-03-25|2012-09-04|Apple Inc.|Database of memory read thresholds| US8230239B2|2009-04-02|2012-07-24|Qualcomm Incorporated|Multiple power mode system and method for memory| US8042011B2|2009-04-28|2011-10-18|Synopsys, Inc.|Runtime programmable BIST for testing a multi-port memory device| US20100281207A1|2009-04-30|2010-11-04|Miller Steven C|Flash-based data archive storage system| KR101575248B1|2009-04-30|2015-12-07|삼성전자주식회사|메모리 컨트롤러 및 그것을 포함하는 메모리 시스템| US8161244B2|2009-05-13|2012-04-17|Microsoft Corporation|Multiple cache directories| US8463820B2|2009-05-26|2013-06-11|Intel Corporation|System and method for memory bandwidth friendly sorting on multi-core architectures| US8180763B2|2009-05-29|2012-05-15|Microsoft Corporation|Cache-friendly B-tree accelerator| US8885434B2|2009-06-17|2014-11-11|Stmicroelectronics International N.V.|Retention of data during stand-by mode| US8627117B2|2009-06-26|2014-01-07|Seagate Technology Llc|Device with power control feature involving backup power reservoir circuit| US8479032B2|2009-06-26|2013-07-02|Seagate Technology Llc|Systems, methods and devices for regulation or isolation of backup power in memory devices| US8412985B1|2009-06-30|2013-04-02|Micron Technology, Inc.|Hardwired remapped memory| US8880835B2|2009-07-07|2014-11-04|International Business Machines Corporation|Adjusting location of tiered storage residence based on usage patterns| US8166258B2|2009-07-24|2012-04-24|Lsi Corporation|Skip operations for solid state disks| US8516219B2|2009-07-24|2013-08-20|Apple Inc.|Index cache tree| US7941696B2|2009-08-11|2011-05-10|Texas Memory Systems, Inc.|Flash-based memory system with static or variable length page stripes including data protection information and auxiliary protection stripes| US7818525B1|2009-08-12|2010-10-19|Texas Memory Systems, Inc.|Efficient reduction of read disturb errors in NAND FLASH memory| EP2467852B1|2009-08-20|2019-05-22|Rambus Inc.|Atomic memory device| US8464106B2|2009-08-24|2013-06-11|Ocz Technology Group, Inc.|Computer system with backup function and method therefor| US8254170B2|2009-08-25|2012-08-28|Sandisk Il Ltd.|Preloading data into a flash storage device| US8077515B2|2009-08-25|2011-12-13|Micron Technology, Inc.|Methods, devices, and systems for dealing with threshold voltage change in memory devices| WO2011031899A2|2009-09-09|2011-03-17|Fusion-Io, Inc.|Apparatus, system, and method for power reduction in a storage device| US8386731B2|2009-09-14|2013-02-26|Vmware, Inc.|Method and system for optimizing live migration of persistent data of virtual machine using disk I/O heuristics| EP2481050A1|2009-09-23|2012-08-01|Conor Maurice Ryan|A flash memory device and control method| US8479061B2|2009-09-24|2013-07-02|AGIGA Tech|Solid state memory cartridge with wear indication| US8171257B2|2009-09-25|2012-05-01|International Business Machines Corporation|Determining an end of valid log in a log of write records using a next pointer and a far ahead pointer| EP2482194B1|2009-09-25|2013-12-25|Fujitsu Limited|Memory system and memory system control method| US8266501B2|2009-09-29|2012-09-11|Micron Technology, Inc.|Stripe based memory operation| JP5197544B2|2009-10-05|2013-05-15|株式会社東芝|メモリシステム| US8312349B2|2009-10-27|2012-11-13|Micron Technology, Inc.|Error detection/correction based memory management| US8423866B2|2009-10-28|2013-04-16|SanDisk Technologies, Inc.|Non-volatile memory and method with post-write read and adaptive re-write to manage errors| CN101699406B|2009-11-12|2011-12-14|威盛电子股份有限公司|数据储存系统与方法| US8335123B2|2009-11-20|2012-12-18|Sandisk Technologies Inc.|Power management of memory systems| US8130553B2|2009-12-02|2012-03-06|Seagate Technology Llc|Systems and methods for low wear operation of solid state memory| FR2953666B1|2009-12-09|2012-07-13|Commissariat Energie Atomique|LDPC CODING METHOD WITH INCREMENTAL REDUNDANCY| US8250380B2|2009-12-17|2012-08-21|Hitachi Global Storage Technologies Netherlands B.V.|Implementing secure erase for solid state drives| TWI399645B|2010-01-15|2013-06-21|Silicon Motion Inc|管理記憶體讀出資料之方法以及記憶裝置| JP5788183B2|2010-02-17|2015-09-30|三星電子株式会社Samsung Electronics Co.,Ltd.|不揮発性メモリ装置、それの動作方法、そしてそれを含むメモリシステム| US8213255B2|2010-02-19|2012-07-03|Sandisk Technologies Inc.|Non-volatile storage with temperature compensation based on neighbor state information| US8355280B2|2010-03-09|2013-01-15|Samsung Electronics Co., Ltd.|Data storage system having multi-bit memory device and operating method thereof| US8458417B2|2010-03-10|2013-06-04|Seagate Technology Llc|Garbage collection in a storage device| US8365041B2|2010-03-17|2013-01-29|Sandisk Enterprise Ip Llc|MLC self-raid flash data protection scheme| US8164967B2|2010-03-24|2012-04-24|Apple Inc.|Systems and methods for refreshing non-volatile memory| US9183134B2|2010-04-22|2015-11-10|Seagate Technology Llc|Data segregation in a storage device| JP2011233114A|2010-04-30|2011-11-17|Toshiba Corp|メモリシステム| US8321481B2|2010-05-13|2012-11-27|Assa Abloy Ab|Method for incremental anti-tear garbage collection| US20110283119A1|2010-05-13|2011-11-17|GCCA Inc.|System and Method for Providing Energy Efficient Cloud Computing| EP2577830A2|2010-06-01|2013-04-10|Koninklijke Philips Electronics N.V.|System and method for sequential application of power to electrical loads| US20110320733A1|2010-06-04|2011-12-29|Steven Ted Sanford|Cache management and acceleration of storage media| JP5596143B2|2010-06-29|2014-09-24|パナソニック株式会社|Nonvolatile memory system, power supply circuit for memory system, flash memory, flash memory controller, and nonvolatile semiconductor memory device| US20120011393A1|2010-07-06|2012-01-12|Roberts Richard B|Bios recovery| US8737141B2|2010-07-07|2014-05-27|Stec, Inc.|Apparatus and method for determining an operating condition of a memory cell based on cycle information| US8737136B2|2010-07-09|2014-05-27|Stec, Inc.|Apparatus and method for determining a read level of a memory cell based on cycle information| US9047955B2|2011-03-30|2015-06-02|Stec, Inc.|Adjusting operating parameters for memory cells based on wordline address and cycle information| KR101131560B1|2010-07-15|2012-04-04|주식회사 하이닉스반도체|웨어 레벨링을 수행하는 비휘발성 메모리 장치 및 그의 제어 방법| US8503238B1|2010-07-21|2013-08-06|Sk Hynix Memory Solutions Inc.|Error recovery for flash memory| US20120023144A1|2010-07-21|2012-01-26|Seagate Technology Llc|Managing Wear in Flash Memory| US8832384B1|2010-07-29|2014-09-09|Violin Memory, Inc.|Reassembling abstracted memory accesses for prefetching| KR20120011642A|2010-07-29|2012-02-08|삼성전자주식회사|기준 셀을 포함하는 불휘발성 메모리 장치 및 그것의 기준 전류 설정 방법| US8694854B1|2010-08-17|2014-04-08|Apple Inc.|Read threshold setting based on soft readout statistics| US8510499B1|2010-08-30|2013-08-13|Symantec Corporation|Solid state drive caching using memory structures to determine a storage space replacement candidate| CN102385902A|2010-09-01|2012-03-21|建兴电子科技股份有限公司|固态储存装置及其数据控制方法| JP2012058860A|2010-09-06|2012-03-22|Toshiba Corp|メモリシステム| US8417878B2|2010-09-20|2013-04-09|Seagate Technology Llc|Selection of units for garbage collection in flash memory| US8738846B2|2010-10-15|2014-05-27|Arkologic Limited|File system-aware solid-state storage management system| US20120275466A1|2010-10-21|2012-11-01|Texas Instruments Incorporated|System and method for classifying packets| JP2013542533A|2010-10-27|2013-11-21|エルエスアイコーポレーション|フラッシュメモリベースのデータ記憶のための順応ecc技術| US9063878B2|2010-11-03|2015-06-23|Densbits Technologies Ltd.|Method, system and computer readable medium for copy back| US8909957B2|2010-11-04|2014-12-09|Lenovo Enterprise Solutions Pte. Ltd.|Dynamic voltage adjustment to computer system memory| US8806106B2|2010-11-12|2014-08-12|Seagate Technology Llc|Estimating wear of non-volatile, solid state memory| US8484433B2|2010-11-19|2013-07-09|Netapp, Inc.|Dynamic detection and reduction of unaligned I/O operations| KR101774496B1|2010-12-08|2017-09-05|삼성전자주식회사|비휘발성 메모리 장치, 이를 포함하는 장치들, 및 이의 동작 방법| KR20120064462A|2010-12-09|2012-06-19|삼성전자주식회사|메모리 컨트롤러, 이의 오류정정 방법, 및 이를 포함하는 메모리 시스템| US8615681B2|2010-12-14|2013-12-24|Western Digital Technologies, Inc.|System and method for maintaining a data redundancy scheme in a solid state memory in the event of a power loss| US9038066B2|2010-12-22|2015-05-19|Vmware, Inc.|In-place snapshots of a virtual disk configured with sparse extent| TWI446345B|2010-12-31|2014-07-21|Silicon Motion Inc|用來進行區塊管理之方法以及記憶裝置及控制器| JP2012151676A|2011-01-19|2012-08-09|Jvc Kenwood Corp|復号装置および復号方法| WO2013112332A1|2012-01-24|2013-08-01|Apple Inc.|Enhanced programming and erasure schemes for analog memory cells| US8364888B2|2011-02-03|2013-01-29|Stec, Inc.|Erase-suspend system and method| US8489653B2|2011-02-08|2013-07-16|International Business Machines Corporation|Incremental class unloading in a region-based garbage collector| US9251087B2|2011-02-11|2016-02-02|SanDisk Technologies, Inc.|Apparatus, system, and method for virtual memory management| US8966319B2|2011-02-22|2015-02-24|Apple Inc.|Obtaining debug information from a flash memory device| US8909894B1|2011-03-16|2014-12-09|Tintri Inc.|Automatically aligning virtual blocks to physical blocks| US8601036B2|2011-03-23|2013-12-03|International Business Machines Corporation|Handling persistent/long-lived objects to reduce garbage collection pause times| US8874515B2|2011-04-11|2014-10-28|Sandisk Enterprise Ip Llc|Low level object version tracking using non-volatile memory write generations| US8909888B2|2011-04-29|2014-12-09|Seagate Technology Llc|Secure erasure of data from a non-volatile memory| US8713380B2|2011-05-03|2014-04-29|SanDisk Technologies, Inc.|Non-volatile memory and method having efficient on-chip block-copying with controlled error rate| US9176864B2|2011-05-17|2015-11-03|SanDisk Technologies, Inc.|Non-volatile memory and method having block management with hot/cold data sorting| US8745318B2|2011-06-28|2014-06-03|Seagate Technology Llc|Parameter tracking for memory devices| US8898373B1|2011-06-29|2014-11-25|Western Digital Technologies, Inc.|System and method for improving wear-leveling performance in solid-state memory| US9378138B2|2011-06-29|2016-06-28|International Business Machines Corporation|Conservative garbage collection and access protection| US8645773B2|2011-06-30|2014-02-04|Seagate Technology Llc|Estimating temporal degradation of non-volatile solid-state memory| US20130024735A1|2011-07-19|2013-01-24|Ocz Technology Group Inc.|Solid-state memory-based storage method and device with low error rate| US8566667B2|2011-07-29|2013-10-22|Stec, Inc.|Low density parity check code decoding system and method| US8692561B2|2011-08-11|2014-04-08|International Business Machines Corporation|Implementing chip to chip calibration within a TSV stack| US20130047045A1|2011-08-19|2013-02-21|Stec, Inc.|Error indicator from ecc decoder| US8934311B2|2011-09-06|2015-01-13|Samsung Electronics Co., Ltd.|Semiconductor memory device capable of screening a weak bit and repairing the same| US9047210B2|2011-09-15|2015-06-02|Sandisk Technologies Inc.|Data storage device and method to correct bit values using multiple read voltages| KR20130031046A|2011-09-20|2013-03-28|삼성전자주식회사|플래시 메모리 장치 및 플래시 메모리 장치의 데이터 관리 방법| US8553468B2|2011-09-21|2013-10-08|Densbits Technologies Ltd.|System and method for managing erase operations in a non-volatile memory| WO2013048485A1|2011-09-30|2013-04-04|Intel Corporation|Autonomous initialization of non-volatile random access memory in a computer system| US8825721B2|2011-10-03|2014-09-02|Oracle International Corporation|Time-based object aging for generational garbage collectors| US8516019B2|2011-10-03|2013-08-20|Oracle America, Inc.|Time-based object aging for generational garbage collectors| WO2013052562A1|2011-10-05|2013-04-11|Lsi Corporation|Self-journaling and hierarchical consistency for non-volatile storage| US8711619B2|2011-10-18|2014-04-29|Seagate Technology Llc|Categorizing bit errors of solid-state, non-volatile memory| US10359949B2|2011-10-31|2019-07-23|Apple Inc.|Systems and methods for obtaining and using nonvolatile memory health information| US8683297B2|2011-11-02|2014-03-25|Sandisk Technologies Inc.|Systems and methods of generating a replacement default read threshold| WO2013065334A1|2011-11-02|2013-05-10|国立大学法人東京大学|メモリコントローラおよびデータ記憶装置| US9053809B2|2011-11-09|2015-06-09|Apple Inc.|Data protection from write failures in nonvolatile memory| US8456919B1|2011-11-10|2013-06-04|Sandisk Technologies Inc.|Method and apparatus to provide data including hard bit data and soft bit data to a rank modulation decoder| US9081663B2|2011-11-18|2015-07-14|Stec, Inc.|Optimized garbage collection algorithm to improve solid state drive reliability| US8687421B2|2011-11-21|2014-04-01|Sandisk Technologies Inc.|Scrub techniques for use with dynamic read| US9274945B2|2011-12-15|2016-03-01|International Business Machines Corporation|Processing unit reclaiming requests in a solid state memory device| US8830746B2|2011-12-28|2014-09-09|Apple Inc.|Optimized threshold search in analog memory cells using separator pages of the same type as read pages| JP2013142947A|2012-01-10|2013-07-22|Sony Corp|記憶制御装置、記憶装置および記憶制御装置の制御方法| US9767032B2|2012-01-12|2017-09-19|Sandisk Technologies Llc|Systems and methods for cache endurance| US9251086B2|2012-01-24|2016-02-02|SanDisk Technologies, Inc.|Apparatus, system, and method for managing a cache| US8964482B2|2012-01-30|2015-02-24|Freescale Semiconductor, Inc.|Dynamic healing of non-volatile memory cells| US9208871B2|2012-01-30|2015-12-08|HGST Netherlands B.V.|Implementing enhanced data read for multi-level cell memory using threshold voltage-drift or resistance drift tolerant moving baseline memory data encoding| US9679664B2|2012-02-11|2017-06-13|Samsung Electronics Co., Ltd.|Method and system for providing a smart memory architecture| US8832050B2|2012-03-09|2014-09-09|Hewlett-Packard Development Company, L.P.|Validation of distributed balanced trees| US8817569B2|2012-03-19|2014-08-26|Sandisk Technologies Inc.|Immunity against temporary and short power drops in non-volatile memory| US20130290611A1|2012-03-23|2013-10-31|Violin Memory Inc.|Power management in a flash memory| JP5853899B2|2012-03-23|2016-02-09|ソニー株式会社|記憶制御装置、記憶装置、情報処理システム、および、それらにおける処理方法| US9311501B2|2012-03-26|2016-04-12|International Business Machines Corporation|Using different secure erase algorithms to erase chunks from a file associated with different security levels| US8923066B1|2012-04-09|2014-12-30|Sk Hynix Memory Solutions Inc.|Storage of read thresholds for NAND flash storage using linear approximation| US8990477B2|2012-04-19|2015-03-24|Sandisk Technologies Inc.|System and method for limiting fragmentation| US20130297613A1|2012-05-04|2013-11-07|Monmouth University|Indexing based on key ranges| US8634267B2|2012-05-14|2014-01-21|Sandisk Technologies Inc.|Flash memory chip power management for data reliability and methods thereof| US20130346672A1|2012-06-22|2013-12-26|Microsoft Corporation|Multi-Tiered Cache with Storage Medium Awareness| US20130343131A1|2012-06-26|2013-12-26|Lsi Corporation|Fast tracking for flash channels| US9529724B2|2012-07-06|2016-12-27|Seagate Technology Llc|Layered architecture for hybrid controller| CN102789427B|2012-07-17|2015-11-25|威盛电子股份有限公司|数据储存装置与其操作方法| KR101997079B1|2012-07-26|2019-07-08|삼성전자주식회사|가변 저항 메모리를 포함하는 저장 장치 및 그것의 동작 방법| US9002791B2|2012-08-28|2015-04-07|Hewlett-Packard Development Company, L. P.|Logging modifications to a variable in persistent memory| KR20140028481A|2012-08-29|2014-03-10|에스케이하이닉스 주식회사|쓰기 전류를 측정할 수 있는 반도체 메모리 장치 및 쓰기 전류 측정 방법| US9329986B2|2012-09-10|2016-05-03|Sandisk Technologies Inc.|Peak current management in multi-die non-volatile memory devices| US20140071761A1|2012-09-10|2014-03-13|Sandisk Technologies Inc.|Non-volatile storage with joint hard bit and soft bit reading| US8886882B2|2012-09-14|2014-11-11|Hitachi, Ltd.|Method and apparatus of storage tier and cache management| US8938656B2|2012-09-14|2015-01-20|Sandisk Technologies Inc.|Data storage device with intermediate ECC stage| US9128690B2|2012-09-24|2015-09-08|Texas Instruments Incorporated|Bus pin reduction and power management| US10489295B2|2012-10-08|2019-11-26|Sandisk Technologies Llc|Systems and methods for managing cache pre-fetch| US9268709B2|2012-10-18|2016-02-23|Marvell International Ltd.|Storage controllers and storage control methods| WO2014068617A1|2012-10-31|2014-05-08|Hitachi, Ltd.|Storage apparatus and method for controlling storage apparatus| US8817541B2|2012-11-09|2014-08-26|Sandisk Technologies Inc.|Data search using bloom filters and NAND based content addressable memory| US8634248B1|2012-11-09|2014-01-21|Sandisk Technologies Inc.|On-device data analytics using NAND flash based intelligent memory| US8930778B2|2012-11-15|2015-01-06|Seagate Technology Llc|Read disturb effect determination| US8949544B2|2012-11-19|2015-02-03|Advanced Micro Devices, Inc.|Bypassing a cache when handling memory requests| US9183945B2|2012-11-30|2015-11-10|Sandisk Technologies Inc.|Systems and methods to avoid false verify and false read| US9135185B2|2012-12-23|2015-09-15|Advanced Micro Devices, Inc.|Die-stacked memory device providing data translation| US8869008B2|2013-01-17|2014-10-21|Apple Inc.|Adaptation of analog memory cell read thresholds using partial ECC syndromes| KR20140100330A|2013-02-06|2014-08-14|삼성전자주식회사|메모리 시스템 및 그것의 동작 방법| DE102013101863A1|2013-02-26|2014-08-28|Fujitsu Technology Solutions Intellectual Property Gmbh|Highly available main memory database system, working methods and their uses| US9383795B2|2013-03-10|2016-07-05|Seagate Technololgy Llc|Storage device power failure infrastructure| US9042181B2|2013-03-15|2015-05-26|SanDisk Technologies, Inc.|Periodic erase operation for a non-volatile medium| US10546648B2|2013-04-12|2020-01-28|Sandisk Technologies Llc|Storage control system with data management mechanism and method of operation thereof| US9378830B2|2013-07-16|2016-06-28|Seagate Technology Llc|Partial reprogramming of solid-state non-volatile memory cells| US9043517B1|2013-07-25|2015-05-26|Sandisk Enterprise Ip Llc|Multipass programming in buffers implemented in non-volatile data storage systems| US9531038B2|2013-07-31|2016-12-27|Dell Products, Lp|System and method of cell block voltage analytics to improve balancing effectiveness and identify self-discharge rate| US9329789B1|2013-10-14|2016-05-03|Marvell International Ltd.|Methods and apparatus for efficiently operating on a storage device| US9250676B2|2013-11-29|2016-02-02|Sandisk Enterprise Ip Llc|Power failure architecture and verification| US9235245B2|2013-12-04|2016-01-12|Sandisk Enterprise Ip Llc|Startup performance and power isolation| US9471497B2|2014-01-24|2016-10-18|Netapp, Inc.|Methods for combining access history and sequentiality for intelligent prefetching and devices thereof| TWI533308B|2014-03-21|2016-05-11|群聯電子股份有限公司|記憶體管理方法、記憶體儲存裝置及記憶體控制電路單元|US8452912B2|2007-10-11|2013-05-28|Super Talent Electronics, Inc.|Flash-memory system with enhanced smart-storage switch and packed meta-data cache for mitigating write amplification by delaying and merging writes until a host read| US8223778B2|2003-11-19|2012-07-17|Intel Corporation|Routing table architecture| US9384818B2|2005-04-21|2016-07-05|Violin Memory|Memory power management| KR101375955B1|2006-05-12|2014-03-18|애플 인크.|메모리 디바이스 내의 왜곡 추정 및 상쇄| WO2007132452A2|2006-05-12|2007-11-22|Anobit Technologies|Reducing programming error in memory devices| US8151166B2|2007-01-24|2012-04-03|Anobit Technologies Ltd.|Reduction of back pattern dependency effects in memory devices| WO2007132457A2|2006-05-12|2007-11-22|Anobit Technologies Ltd.|Combined distortion estimation and error correction coding for memory devices| WO2007132456A2|2006-05-12|2007-11-22|Anobit Technologies Ltd.|Memory device with adaptive capacity| WO2008026203A2|2006-08-27|2008-03-06|Anobit Technologies|Estimation of non-linear distortion in memory devices| US7975192B2|2006-10-30|2011-07-05|Anobit Technologies Ltd.|Reading memory cells using multiple thresholds| CN101601094B|2006-10-30|2013-03-27|苹果公司|使用多个门限读取存储单元的方法| US7924648B2|2006-11-28|2011-04-12|Anobit Technologies Ltd.|Memory power and performance management| US7706182B2|2006-12-03|2010-04-27|Anobit Technologies Ltd.|Adaptive programming of analog memory cells using statistical characteristics| WO2008068747A2|2006-12-03|2008-06-12|Anobit Technologies Ltd.|Automatic defect management in memory devices| US9495241B2|2006-12-06|2016-11-15|Longitude Enterprise Flash S.A.R.L.|Systems and methods for adaptive data storage| KR20090087119A|2006-12-06|2009-08-14|퓨전 멀티시스템즈, 인크.|빈 데이터 토큰 지시어를 사용한 저장 장치 내의 데이터 관리 장치, 시스템 및 방법| US10019353B2|2012-03-02|2018-07-10|Longitude Enterprise Flash S.A.R.L.|Systems and methods for referencing data on a storage medium| US8935302B2|2006-12-06|2015-01-13|Intelligent Intellectual Property Holdings 2 Llc|Apparatus, system, and method for data block usage information synchronization for a non-volatile storage volume| US7900102B2|2006-12-17|2011-03-01|Anobit Technologies Ltd.|High-speed programming of memory devices| US7751240B2|2007-01-24|2010-07-06|Anobit Technologies Ltd.|Memory device with negative thresholds| CN101715595A|2007-03-12|2010-05-26|爱诺彼得技术有限责任公司|存储器单元读取阈的自适应估计| US8200887B2|2007-03-29|2012-06-12|Violin Memory, Inc.|Memory management system and method| US9632870B2|2007-03-29|2017-04-25|Violin Memory, Inc.|Memory system with multiple striping of raid groups and method for performing the same| US8001320B2|2007-04-22|2011-08-16|Anobit Technologies Ltd.|Command interface for memory devices| WO2008139441A2|2007-05-12|2008-11-20|Anobit Technologies Ltd.|Memory device with internal signal processing unit| US8234545B2|2007-05-12|2012-07-31|Apple Inc.|Data storage with incremental redundancy| US9396103B2|2007-06-08|2016-07-19|Sandisk Technologies Llc|Method and system for storage address re-mapping for a memory device| US7925936B1|2007-07-13|2011-04-12|Anobit Technologies Ltd.|Memory device with non-uniform programming levels| US8683126B2|2007-07-30|2014-03-25|Nvidia Corporation|Optimal use of buffer space by a storage controller which writes retrieved data directly to a memory| US8259497B2|2007-08-06|2012-09-04|Apple Inc.|Programming schemes for multi-level analog memory cells| US8174905B2|2007-09-19|2012-05-08|Anobit Technologies Ltd.|Programming orders for reducing distortion in arrays of multi-level analog memory cells| US7773413B2|2007-10-08|2010-08-10|Anobit Technologies Ltd.|Reliable data storage in analog memory cells in the presence of temperature variations| WO2009050703A2|2007-10-19|2009-04-23|Anobit Technologies|Data storage in analog memory cell arrays having erase failures| US8000141B1|2007-10-19|2011-08-16|Anobit Technologies Ltd.|Compensation for voltage drifts in analog memory cells| US8068360B2|2007-10-19|2011-11-29|Anobit Technologies Ltd.|Reading analog memory cells using built-in multi-threshold commands| WO2009063450A2|2007-11-13|2009-05-22|Anobit Technologies|Optimized selection of memory units in multi-unit memory devices| US8959307B1|2007-11-16|2015-02-17|Bitmicro Networks, Inc.|Reduced latency memory read transactions in storage devices| US8225181B2|2007-11-30|2012-07-17|Apple Inc.|Efficient re-read operations from memory devices| US8209588B2|2007-12-12|2012-06-26|Anobit Technologies Ltd.|Efficient interference cancellation in analog memory cell arrays| US8621137B2|2007-12-27|2013-12-31|Sandisk Enterprise Ip Llc|Metadata rebuild in a flash memory controller following a loss of power| US8085586B2|2007-12-27|2011-12-27|Anobit Technologies Ltd.|Wear level estimation in analog memory cells| US8156398B2|2008-02-05|2012-04-10|Anobit Technologies Ltd.|Parameter estimation based on error correction code parity check equations| US7924587B2|2008-02-21|2011-04-12|Anobit Technologies Ltd.|Programming of analog memory cells using a single programming pulse per state transition| US7864573B2|2008-02-24|2011-01-04|Anobit Technologies Ltd.|Programming analog memory cells for reduced variance after retention| JP4498426B2|2008-03-01|2010-07-07|株式会社東芝|メモリシステム| US8230300B2|2008-03-07|2012-07-24|Apple Inc.|Efficient readout from analog memory cells using data compression| US8493783B2|2008-03-18|2013-07-23|Apple Inc.|Memory device readout using multiple sense times| US8059457B2|2008-03-18|2011-11-15|Anobit Technologies Ltd.|Memory device with multiple-accuracy read commands| US8400858B2|2008-03-18|2013-03-19|Apple Inc.|Memory device with reduced sense time readout| US8966155B1|2008-04-01|2015-02-24|Daniel P. Mulligan|System and method for implementing a high performance data storage system| US20110235260A1|2008-04-09|2011-09-29|Apacer Technology Inc.|Dram module with solid state disk| US7983051B2|2008-04-09|2011-07-19|Apacer Technology Inc.|DRAM module with solid state disk| US20090271562A1|2008-04-25|2009-10-29|Sinclair Alan W|Method and system for storage address re-mapping for a multi-bank memory device| US9594679B2|2008-05-01|2017-03-14|Sandisk Il Ltd.|Flash cache flushing method and system| US9966142B2|2008-05-13|2018-05-08|Rambus Inc.|Fractional program commands for memory devices| US20090307523A1|2008-06-06|2009-12-10|Allison Brian D|System Performance Through Invalidation of Speculative Memory Scrub Commands| US8843691B2|2008-06-25|2014-09-23|Stec, Inc.|Prioritized erasure of data blocks in a flash storage device| TW201003358A|2008-07-01|2010-01-16|Asustek Comp Inc|Daughter board with solid state storage device of computer system| US7995388B1|2008-08-05|2011-08-09|Anobit Technologies Ltd.|Data storage using modified voltages| US7924613B1|2008-08-05|2011-04-12|Anobit Technologies Ltd.|Data storage in analog memory cells with protection against programming interruption| US8949684B1|2008-09-02|2015-02-03|Apple Inc.|Segmented data storage| US8169825B1|2008-09-02|2012-05-01|Anobit Technologies Ltd.|Reliable data storage in analog memory cells subjected to long retention periods| US8482978B1|2008-09-14|2013-07-09|Apple Inc.|Estimation of memory cell read thresholds by sampling inside programming level distribution intervals| US8000135B1|2008-09-14|2011-08-16|Anobit Technologies Ltd.|Estimation of memory cell read thresholds by sampling inside programming level distribution intervals| US8239734B1|2008-10-15|2012-08-07|Apple Inc.|Efficient data storage in storage device arrays| US8656117B1|2008-10-30|2014-02-18|Nvidia Corporation|Read completion data management| US8261159B1|2008-10-30|2012-09-04|Apple, Inc.|Data scrambling schemes for memory devices| US8208304B2|2008-11-16|2012-06-26|Anobit Technologies Ltd.|Storage at M bits/cell density in N bits/cell analog memory cell devices, M>N| KR101543434B1|2008-12-15|2015-08-10|삼성전자주식회사|반도체 메모리 시스템의 제조 방법| JP2010152853A|2008-12-26|2010-07-08|Toshiba Corp|データ記憶装置| US8248831B2|2008-12-31|2012-08-21|Apple Inc.|Rejuvenation of analog memory cells| US8397131B1|2008-12-31|2013-03-12|Apple Inc.|Efficient readout schemes for analog memory cell devices| US8924661B1|2009-01-18|2014-12-30|Apple Inc.|Memory system including a controller and processors associated with memory devices| US8924819B2|2009-01-23|2014-12-30|Macronix International Co., Ltd.|Memory device and operation method thereof| US8327040B2|2009-01-26|2012-12-04|Micron Technology, Inc.|Host controller| US8266361B1|2009-01-28|2012-09-11|Cypress Semiconductor Corporation|Access methods and circuits for devices having multiple buffers| US8228701B2|2009-03-01|2012-07-24|Apple Inc.|Selective activation of programming schemes in analog memory cell arrays| US8239614B2|2009-03-04|2012-08-07|Micron Technology, Inc.|Memory super block allocation| KR101581311B1|2009-03-11|2015-12-31|삼성전자주식회사|플래시 메모리 장치 및 그 제어 방법| KR101581679B1|2009-03-18|2015-12-31|삼성전자주식회사|저장 장치 및 저장 장치의 버퍼 메모리 관리 방법| US8832354B2|2009-03-25|2014-09-09|Apple Inc.|Use of host system resources by memory controller| US8977805B2|2009-03-25|2015-03-10|Apple Inc.|Host-assisted compaction of memory blocks| US8259506B1|2009-03-25|2012-09-04|Apple Inc.|Database of memory read thresholds| US9164914B1|2009-04-07|2015-10-20|Marvell World Trade Ltd.|Multiple port routing circuitry for flash memory storage systems| US8238157B1|2009-04-12|2012-08-07|Apple Inc.|Selective re-programming of analog memory cells| TW201037711A|2009-04-13|2010-10-16|Jmicron Technology Corp|Data access method used in multi-channel flash memory system and data access apparatus thereof| JP5607725B2|2009-04-21|2014-10-15|インターナショナル・ビジネス・マシーンズ・コーポレーションInternationalBusinessMachinesCorporation|固体ディスクを制御するための装置、方法、およびコンピュータ・プログラム| JP2010262715A|2009-05-11|2010-11-18|Renesas Electronics Corp|メモリ検査システム及びメモリ検査方法| US20100306451A1|2009-06-01|2010-12-02|Joshua Johnson|Architecture for nand flash constraint enforcement| JP2010282369A|2009-06-03|2010-12-16|Toshiba Corp|メモリシステム| US8555141B2|2009-06-04|2013-10-08|Lsi Corporation|Flash memory organization| US8245112B2|2009-06-04|2012-08-14|Lsi Corporation|Flash memory organization| WO2010144587A2|2009-06-12|2010-12-16|Violin Memory, Inc.|Memory system having persistent garbage collection| US20100318720A1|2009-06-16|2010-12-16|Saranyan Rajagopalan|Multi-Bank Non-Volatile Memory System with Satellite File System| US8144496B2|2009-06-30|2012-03-27|Sandisk Technologies Inc.|Memory system with multi-level status signaling and method for operating the same| US8479080B1|2009-07-12|2013-07-02|Apple Inc.|Adaptive over-provisioning in memory systems| US8631187B2|2009-08-07|2014-01-14|Intel Corporation|Dual-scope directory for a non-volatile memory storage system| US20110035540A1|2009-08-10|2011-02-10|Adtron, Inc.|Flash blade system architecture and method| US8189379B2|2009-08-12|2012-05-29|Texas Memory Systems, Inc.|Reduction of read disturb errors in NAND FLASH memory| US8688894B2|2009-09-03|2014-04-01|Pioneer Chip Technology Ltd.|Page based management of flash storage| US8665601B1|2009-09-04|2014-03-04|Bitmicro Networks, Inc.|Solid state drive with improved enclosure assembly| US9135190B1|2009-09-04|2015-09-15|Bitmicro Networks, Inc.|Multi-profile memory controller for computing devices| US8447908B2|2009-09-07|2013-05-21|Bitmicro Networks, Inc.|Multilevel memory bus system for solid-state mass storage| US8560804B2|2009-09-14|2013-10-15|Bitmicro Networks, Inc.|Reducing erase cycles in an electronic storage device that uses at least one erase-limited memory device| TWI427635B|2009-09-17|2014-02-21|Moai Electronics Corp|Flash memory control system and flash memory control method| US9063886B2|2009-09-18|2015-06-23|Apple Inc.|Metadata redundancy schemes for non-volatile memories| EP2302638B1|2009-09-21|2013-04-17|STMicroelectronicsSAS|Procédé d'écriture et de lecture de données dans une mémoire non volatile, au moyen de métadonnées| TWI506422B|2009-09-23|2015-11-01|Silicon Motion Inc|用來管理具有多通道、多途徑的記憶裝置之方法以及相關之記憶裝置及其控制器| US8219776B2|2009-09-23|2012-07-10|Lsi Corporation|Logical-to-physical address translation for solid state disks| US8990476B2|2009-10-01|2015-03-24|Micron Technology, Inc.|Power interrupt management| US8407407B1|2009-10-06|2013-03-26|Marvell International Ltd.|Solid state drive access control system with equalized access timing| US8516264B2|2009-10-09|2013-08-20|Lsi Corporation|Interlocking plain text passwords to data encryption keys| US8495465B1|2009-10-15|2013-07-23|Apple Inc.|Error correction coding over multiple memory pages| US8151039B2|2009-10-19|2012-04-03|Moai Electronics Corporation|System and method for controlling flash memory without using ready/busy signal| KR101601849B1|2009-10-21|2016-03-09|삼성전자주식회사|불휘발성 메모리 장치, 그것의 읽기 방법, 그리고 그것을 포함하는 메모리 시스템| US8868809B2|2009-11-30|2014-10-21|Lsi Corporation|Interrupt queuing in a media controller architecture| US8402259B2|2009-11-30|2013-03-19|International Business Machines Corporation|Accelerating wake-up time of a system| US8473669B2|2009-12-07|2013-06-25|Sandisk Technologies Inc.|Method and system for concurrent background and foreground operations in a non-volatile memory array| WO2011070526A1|2009-12-11|2011-06-16|International Business Machines Corporation|Flash memory controller| US8285946B2|2009-12-15|2012-10-09|International Business Machines Corporation|Reducing access contention in flash-based memory systems| US8677054B1|2009-12-16|2014-03-18|Apple Inc.|Memory management schemes for non-volatile memory devices| US8321639B2|2009-12-30|2012-11-27|Lsi Corporation|Command tracking for direct access block storage devices| US8694814B1|2010-01-10|2014-04-08|Apple Inc.|Reuse of host hibernation storage space by memory controller| US8572311B1|2010-01-11|2013-10-29|Apple Inc.|Redundant data storage in multi-die memory systems| KR101648531B1|2010-02-12|2016-08-17|삼성전자주식회사|불휘발성 메모리 시스템과 이의 동작 방법| KR101095046B1|2010-02-25|2011-12-20|연세대학교 산학협력단|솔리드 스테이트 디스크 및 이를 포함하는 사용자 시스템| US8887142B2|2010-03-10|2014-11-11|Microsoft Corporation|Loop control flow diversion| US8365041B2|2010-03-17|2013-01-29|Sandisk Enterprise Ip Llc|MLC self-raid flash data protection scheme| US20110227920A1|2010-03-19|2011-09-22|James Adams|Method and System For a Shader Processor With Closely-Coupled Peripherals| US8478796B2|2010-03-23|2013-07-02|Apple Inc.|Uncorrectable error handling schemes for non-volatile memories| US8726126B2|2010-03-23|2014-05-13|Apple Inc.|Non-regular parity distribution detection via metadata tag| US8725931B1|2010-03-26|2014-05-13|Western Digital Technologies, Inc.|System and method for managing the execution of memory commands in a solid-state memory| WO2011128928A1|2010-04-12|2011-10-20|Hitachi, Ltd.|Storage device| US9183134B2|2010-04-22|2015-11-10|Seagate Technology Llc|Data segregation in a storage device| US8694853B1|2010-05-04|2014-04-08|Apple Inc.|Read commands for reading interfering memory cells| US8782327B1|2010-05-11|2014-07-15|Western Digital Technologies, Inc.|System and method for managing execution of internal commands and host commands in a solid-state memory| US9026716B2|2010-05-12|2015-05-05|Western Digital Technologies, Inc.|System and method for managing garbage collection in solid-state memory| US9104546B2|2010-05-24|2015-08-11|Silicon Motion Inc.|Method for performing block management using dynamic threshold, and associated memory device and controller thereof| US8572423B1|2010-06-22|2013-10-29|Apple Inc.|Reducing peak current in memory systems| CN102169466A|2010-06-22|2011-08-31|上海盈方微电子有限公司|一种基于页操作的可编程Nandflash控制器| US8959284B1|2010-06-28|2015-02-17|Western Digital Technologies, Inc.|Disk drive steering write data to write cache based on workload| US9141538B2|2010-07-07|2015-09-22|Marvell World Trade Ltd.|Apparatus and method for generating descriptors to transfer data to and from non-volatile semiconductor memory of a storage drive| US9135168B2|2010-07-07|2015-09-15|Marvell World Trade Ltd.|Apparatus and method for generating descriptors to reaccess a non-volatile semiconductor memory of a storage drive due to an error| US8868852B2|2010-07-07|2014-10-21|Marvell World Trade Ltd.|Interface management control systems and methods for non-volatile semiconductor memory| US8595591B1|2010-07-11|2013-11-26|Apple Inc.|Interference-aware assignment of programming levels in analog memory cells| US9104580B1|2010-07-27|2015-08-11|Apple Inc.|Cache memory for hybrid disk drives| US8645794B1|2010-07-31|2014-02-04|Apple Inc.|Data storage in analog memory cells using a non-integer number of bits per cell| US8856475B1|2010-08-01|2014-10-07|Apple Inc.|Efficient selection of memory blocks for compaction| WO2012021379A2|2010-08-10|2012-02-16|Rambus Inc.|Verify before program resume for memory devices| US8493781B1|2010-08-12|2013-07-23|Apple Inc.|Interference mitigation using individual word line erasure operations| US9058280B1|2010-08-13|2015-06-16|Western Digital Technologies, Inc.|Hybrid drive migrating data from disk to non-volatile semiconductor memory based on accumulated access time| US9268499B1|2010-08-13|2016-02-23|Western Digital Technologies, Inc.|Hybrid drive migrating high workload data from disk to non-volatile semiconductor memory| US8694854B1|2010-08-17|2014-04-08|Apple Inc.|Read threshold setting based on soft readout statistics| US8510499B1|2010-08-30|2013-08-13|Symantec Corporation|Solid state drive caching using memory structures to determine a storage space replacement candidate| US8775720B1|2010-08-31|2014-07-08|Western Digital Technologies, Inc.|Hybrid drive balancing execution times for non-volatile semiconductor memory and disk| US8850114B2|2010-09-07|2014-09-30|Daniel L Rosenband|Storage array controller for flash-based storage devices| US8635412B1|2010-09-09|2014-01-21|Western Digital Technologies, Inc.|Inter-processor communication| US8782334B1|2010-09-10|2014-07-15|Western Digital Technologies, Inc.|Hybrid drive copying disk cache to non-volatile semiconductor memory| US20120066444A1|2010-09-14|2012-03-15|Advanced Micro Devices, Inc.|Resolution Enhancement of Video Stream Based on Spatial and Temporal Correlation| CN102402464A|2010-09-17|2012-04-04|中国移动通信有限公司|一种智能卡中的存储器的数据擦写方法及智能卡| US9164886B1|2010-09-21|2015-10-20|Western Digital Technologies, Inc.|System and method for multistage processing in a memory storage subsystem| US9021192B1|2010-09-21|2015-04-28|Western Digital Technologies, Inc.|System and method for enhancing processing of memory access requests| GB2513551B|2010-09-24|2018-01-10|Ibm|High-speed memory system| US9021181B1|2010-09-27|2015-04-28|Apple Inc.|Memory management for unifying memory cell conditions by using maximum time intervals| US8892981B2|2010-09-30|2014-11-18|Apple Inc.|Data recovery using outer codewords stored in volatile memory| US8452911B2|2010-09-30|2013-05-28|Sandisk Technologies Inc.|Synchronized maintenance operations in a multi-bank storage system| US8612804B1|2010-09-30|2013-12-17|Western Digital Technologies, Inc.|System and method for improving wear-leveling performance in solid-state memory| US20120096290A1|2010-10-14|2012-04-19|Keynetik, Inc.|Distributed Architecture for Situation Aware Sensory Application| US8755221B2|2010-10-18|2014-06-17|Avalanche Technology, Inc.|Emulation of static random access memoryby magnetic random access memory | US20120110244A1|2010-11-02|2012-05-03|Micron Technology, Inc.|Copyback operations| JP2012118739A|2010-11-30|2012-06-21|Toshiba Corp|記憶装置、及び制御方法| US8464137B2|2010-12-03|2013-06-11|International Business Machines Corporation|Probabilistic multi-tier error correction in not-andflash memory| TWI451439B|2010-12-10|2014-09-01|Phison Electronics Corp|記憶體儲存裝置、其記憶體控制器與資料寫入方法| US20120159040A1|2010-12-15|2012-06-21|Dhaval Parikh|Auxiliary Interface for Non-Volatile Memory System| WO2012083308A2|2010-12-17|2012-06-21|Fusion-Io, Inc.|Apparatus, system, and method for persistent data management on a non-volatile storage media| US8392635B2|2010-12-22|2013-03-05|Western Digital Technologies, Inc.|Selectively enabling a host transfer interrupt| US8972821B2|2010-12-23|2015-03-03|Texas Instruments Incorporated|Encode and multiplex, register, and decode and error correction circuitry| US8458145B2|2011-01-20|2013-06-04|Infinidat Ltd.|System and method of storage optimization| US10049040B2|2011-01-21|2018-08-14|Seagate Technology Llc|Just in time garbage collection| US8874872B2|2011-01-21|2014-10-28|Seagate Technology Llc|Garbage collection management in memories| US8954647B2|2011-01-28|2015-02-10|Apple Inc.|Systems and methods for redundantly storing metadata for non-volatile memory| US8909851B2|2011-02-08|2014-12-09|SMART Storage Systems, Inc.|Storage control system with change logging mechanism and method of operation thereof| US8484542B2|2011-02-08|2013-07-09|Sandisk Technologies Inc.|Data recovery using additional error correction coding data| US8850104B2|2011-03-21|2014-09-30|Apple Inc.|Independent management of data and parity logical block addresses| US20120246385A1|2011-03-22|2012-09-27|American Megatrends, Inc.|Emulating spi or 12c prom/eprom/eeprom using flash memory of microcontroller| US8935466B2|2011-03-28|2015-01-13|SMART Storage Systems, Inc.|Data storage system with non-volatile memory and method of operation thereof| US9361044B2|2011-03-28|2016-06-07|Western Digital Technologies, Inc.|Power-safe data management system| US8473695B2|2011-03-31|2013-06-25|Mosys, Inc.|Memory system including variable write command scheduling| KR101467941B1|2011-04-26|2014-12-02|엘에스아이 코포레이션|비휘발성 저장부에 대한 가변 오버프로비저닝| US8918595B2|2011-04-28|2014-12-23|Seagate Technology Llc|Enforcing system intentions during memory scheduling| US9021178B2|2011-05-02|2015-04-28|Western Digital Technologies, Inc.|High performance path for command processing| CN102789264A|2011-05-18|2012-11-21|鸿富锦精密工业(深圳)有限公司|计算机装置的主板| US8543758B2|2011-05-31|2013-09-24|Micron Technology, Inc.|Apparatus including memory channel control circuit and related methods for relaying commands to logical units| US10031850B2|2011-06-07|2018-07-24|Sandisk Technologies Llc|System and method to buffer data| JP5833347B2|2011-06-08|2015-12-16|ローム株式会社|データ処理装置| TWI436209B|2011-06-14|2014-05-01|Phison Electronics Corp|記憶體管理表處理方法、記憶體控制器與記憶體儲存裝置| US8910020B2|2011-06-19|2014-12-09|Sandisk Enterprise Ip Llc|Intelligent bit recovery for flash memory| US20120324148A1|2011-06-19|2012-12-20|Paul Roger Stonelake|System and method of protecting metadata from nand flash failures| US8909982B2|2011-06-19|2014-12-09|Sandisk Enterprise Ip Llc|System and method for detecting copyback programming problems| US8898373B1|2011-06-29|2014-11-25|Western Digital Technologies, Inc.|System and method for improving wear-leveling performance in solid-state memory| US9003101B1|2011-06-29|2015-04-07|Western Digital Technologies, Inc.|Prioritized access for media with heterogeneous access rates| US9158670B1|2011-06-30|2015-10-13|Western Digital Technologies, Inc.|System and method for dynamically adjusting garbage collection policies in solid-state memory| US8626991B1|2011-06-30|2014-01-07|Emc Corporation|Multi-LUN SSD optimization system and method| US9335939B2|2011-07-12|2016-05-10|Violin Memory Inc.|RAIDed memory system| US9417823B2|2011-07-12|2016-08-16|Violin Memory Inc.|Memory system management| US20130019053A1|2011-07-14|2013-01-17|Vinay Ashok Somanache|Flash controller hardware architecture for flash devices| US8806112B2|2011-07-14|2014-08-12|Lsi Corporation|Meta data handling within a flash media controller| US9318166B2|2011-07-22|2016-04-19|SanDisk Technologies, Inc.|Systems and methods of storing data| KR101804521B1|2011-08-16|2017-12-07|에스케이하이닉스 주식회사|집적회로 칩, 이를 포함하는 시스템 및 동작방법, 메모리 및 메모리 시스템| US8973018B2|2011-08-23|2015-03-03|International Business Machines Corporation|Configuring and relaying events from a storage controller to a host server| US9021146B2|2011-08-30|2015-04-28|Apple Inc.|High priority command queue for peripheral component| US9098399B2|2011-08-31|2015-08-04|SMART Storage Systems, Inc.|Electronic system with storage management mechanism and method of operation thereof| US9021319B2|2011-09-02|2015-04-28|SMART Storage Systems, Inc.|Non-volatile memory management system with load leveling and method of operation thereof| US9021231B2|2011-09-02|2015-04-28|SMART Storage Systems, Inc.|Storage control system with write amplification control mechanism and method of operation thereof| US9063844B2|2011-09-02|2015-06-23|SMART Storage Systems, Inc.|Non-volatile memory management system with time measure mechanism and method of operation thereof| US9195530B1|2011-09-06|2015-11-24|Western Digital Technologies, Inc.|Systems and methods for improved data management in data storage systems| US8707104B1|2011-09-06|2014-04-22|Western Digital Technologies, Inc.|Systems and methods for error injection in data storage systems| US8713357B1|2011-09-06|2014-04-29|Western Digital Technologies, Inc.|Systems and methods for detailed error reporting in data storage systems| US8700834B2|2011-09-06|2014-04-15|Western Digital Technologies, Inc.|Systems and methods for an enhanced controller architecture in data storage systems| JP2013061795A|2011-09-13|2013-04-04|Toshiba Corp|記憶装置、コントローラ、およびリードコマンド実行方法| US10037272B2|2012-08-08|2018-07-31|Avalanche Technology, Inc.|Storage system employing MRAM and array of solid state disks with integrated switch| US8635407B2|2011-09-30|2014-01-21|International Business Machines Corporation|Direct memory address for solid-state drives| US9372755B1|2011-10-05|2016-06-21|Bitmicro Networks, Inc.|Adaptive power cycle sequences for data recovery| US9058289B2|2011-11-07|2015-06-16|Sandisk Enterprise Ip Llc|Soft information generation for memory systems| US8938583B1|2011-11-16|2015-01-20|Western Digital Technologies, Inc.|System and method for concurrently executing data access requests| US8924815B2|2011-11-18|2014-12-30|Sandisk Enterprise Ip Llc|Systems, methods and devices for decoding codewords having multiple parity segments| US8954822B2|2011-11-18|2015-02-10|Sandisk Enterprise Ip Llc|Data encoder and decoder using memory-specific parity-check matrix| US9048876B2|2011-11-18|2015-06-02|Sandisk Enterprise Ip Llc|Systems, methods and devices for multi-tiered error correction| US9164887B2|2011-12-05|2015-10-20|Industrial Technology Research Institute|Power-failure recovery device and method for flash memory| US10203881B2|2011-12-19|2019-02-12|Apple Inc.|Optimized execution of interleaved write operations in solid state drives| US8762627B2|2011-12-21|2014-06-24|Sandisk Technologies Inc.|Memory logical defragmentation during garbage collection| US9411724B2|2011-12-21|2016-08-09|Intel Corporation|Method and apparatus for a partial-address select-signal generator withaddress shift| US8713204B2|2011-12-27|2014-04-29|Apple Inc.|High-performance AHCI interface| US20130173972A1|2011-12-28|2013-07-04|Robert Kubo|System and method for solid state disk flash plane failure detection| KR20130076429A|2011-12-28|2013-07-08|삼성전자주식회사|메모리 장치의 저장 영역 관리 방법 및 이를 이용한 저장 장치| JP2013140541A|2012-01-06|2013-07-18|Toshiba Corp|半導体記憶装置| US20130179614A1|2012-01-10|2013-07-11|Diarmuid P. Ross|Command Abort to Reduce Latency in Flash Memory Access| US8918680B2|2012-01-23|2014-12-23|Apple Inc.|Trace queue for peripheral component| KR101876574B1|2012-02-02|2018-07-09|에스케이하이닉스 주식회사|데이터 입출력 컨트롤러 및 이를 포함하는 시스템| US9239781B2|2012-02-07|2016-01-19|SMART Storage Systems, Inc.|Storage control system with erase block mechanism and method of operation thereof| US8892787B2|2012-03-06|2014-11-18|Lsi Corporation|Methods and apparatus for packing received frames in buffers in a serial attached SCSIdevice| US20130246686A1|2012-03-19|2013-09-19|Hitachi, Ltd.|Storage system comprising nonvolatile semiconductor storage device, and storage control method| US8370567B1|2012-03-23|2013-02-05|DSSD, Inc.|Storage system with self describing data| US9053008B1|2012-03-26|2015-06-09|Western Digital Technologies, Inc.|Systems and methods for providing inline parameter service in data storage devices| WO2013147894A1|2012-03-30|2013-10-03|Intel Corporation|Solid state drive management in power loss recovery| US9202577B2|2012-03-30|2015-12-01|Intel Corporation|Solid state drive management in power loss recovery| US20130268727A1|2012-04-10|2013-10-10|Kyo Min Sohn|Memory system for access concentration decrease management and access concentration decrease method| US9298252B2|2012-04-17|2016-03-29|SMART Storage Systems, Inc.|Storage control system with power down mechanism and method of operation thereof| US9262428B2|2012-04-23|2016-02-16|International Business Machines Corporation|Preserving redundancy in data deduplication systems by designation of virtual address| US9779103B2|2012-04-23|2017-10-03|International Business Machines Corporation|Preserving redundancy in data deduplication systems| US8996881B2|2012-04-23|2015-03-31|International Business Machines Corporation|Preserving redundancy in data deduplication systems by encryption| US10133747B2|2012-04-23|2018-11-20|International Business Machines Corporation|Preserving redundancy in data deduplication systems by designation of virtual device| CN103389963B|2012-05-09|2016-08-31|北京兆易创新科技股份有限公司|一种嵌入式系统控制器| US9043669B1|2012-05-18|2015-05-26|Bitmicro Networks, Inc.|Distributed ECC engine for storage media| US9354823B2|2012-06-06|2016-05-31|Mosys, Inc.|Memory system including variable write burst and broadcast command scheduling| CN102722447B|2012-06-06|2015-01-14|北京航空航天大学|一种内存垃圾收集器中对象状态的增量式跟踪记录方法| US8949689B2|2012-06-11|2015-02-03|SMART Storage Systems, Inc.|Storage control system with data management mechanism and method of operation thereof| US9003068B2|2012-07-12|2015-04-07|International Business Machines Corporation|Service channel for connecting a host computer to peripheral devices| US20150160999A1|2012-07-13|2015-06-11|Samsung Electronics Co., Ltd.|Solid state drive controller, solid state drive, data processing method of solid state drive, multi-channel solid state drive, raid controller and computer-readable recording medium having recorded therein computer program for providing sequence information to solid state drive| KR102012740B1|2012-07-18|2019-08-21|삼성전자주식회사|복수의 불휘발성 메모리 칩들을 포함하는 저장 장치 및 그것의 제어 방법| US20140032820A1|2012-07-25|2014-01-30|Akinori Harasawa|Data storage apparatus, memory control method and electronic device with data storage apparatus| KR101992940B1|2012-08-08|2019-06-26|삼성전자주식회사|메모리 컨트롤러의 동작 방법, 및 상기 메모리 컨트롤러를 포함하는 시스템| US9699263B1|2012-08-17|2017-07-04|Sandisk Technologies Llc.|Automatic read and write acceleration of data accessed by virtual machines| US20140052897A1|2012-08-17|2014-02-20|Seagate Technology Llc|Dynamic formation of garbage collection units in a memory| US8938645B2|2012-09-19|2015-01-20|Sap Se|Invalidation of metadata buffers| US9471484B2|2012-09-19|2016-10-18|Novachips Canada Inc.|Flash memory controller having dual mode pin-out| WO2014047159A1|2012-09-21|2014-03-27|Violin Memory Inc.|Write cache sorting| US10318495B2|2012-09-24|2019-06-11|Sandisk Technologies Llc|Snapshots for a non-volatile device| US10509776B2|2012-09-24|2019-12-17|Sandisk Technologies Llc|Time sequence data management| US8972826B2|2012-10-24|2015-03-03|Western Digital Technologies, Inc.|Adaptive error correction codes for data storage systems| US8959281B1|2012-11-09|2015-02-17|Western Digital Technologies, Inc.|Data management for a storage device| WO2014077821A1|2012-11-15|2014-05-22|Empire Technology Development Llc|A multi-channel storage system supporting a multi-command protocol| WO2014081719A1|2012-11-20|2014-05-30|Peddle Charles I|Solid state drive architectures| US9021339B2|2012-11-29|2015-04-28|Western Digital Technologies, Inc.|Data reliability schemes for data storage systems| US9671962B2|2012-11-30|2017-06-06|Sandisk Technologies Llc|Storage control system with data management mechanism of parity and method of operation thereof| US9059736B2|2012-12-03|2015-06-16|Western Digital Technologies, Inc.|Methods, solid state drive controllers and data storage devices having a runtime variable raid protection scheme| US9135112B2|2012-12-11|2015-09-15|Seagate Technology Llc|Policy for read operations addressing on-the-fly decoding failure in non-volatile memory| US9411718B2|2012-12-21|2016-08-09|Seagate Technology Llc|Method to apply fine grain wear leveling and garbage collection| US9214963B1|2012-12-21|2015-12-15|Western Digital Technologies, Inc.|Method and system for monitoring data channel to enable use of dynamically adjustable LDPC coding parameters in a data storage system| US9501398B2|2012-12-26|2016-11-22|Sandisk Technologies Llc|Persistent storage device with NVRAM for staging writes| US9612948B2|2012-12-27|2017-04-04|Sandisk Technologies Llc|Reads and writes between a contiguous data block and noncontiguous sets of logical address blocks in a persistent storage device| US9239751B1|2012-12-27|2016-01-19|Sandisk Enterprise Ip Llc|Compressing data from multiple reads for error control management in memory systems| US9842660B1|2012-12-28|2017-12-12|Virident Systems, Llc|System and method to improve enterprise reliability through tracking I/O performance metrics in non-volatile random access memory| US9286002B1|2012-12-28|2016-03-15|Virident Systems Inc.|Dynamic restriping in nonvolatile memory systems| US9454420B1|2012-12-31|2016-09-27|Sandisk Technologies Llc|Method and system of reading threshold voltage equalization| US9336133B2|2012-12-31|2016-05-10|Sandisk Technologies Inc.|Method and system for managing program cycles including maintenance programming operations in a multi-layer memory| US9734911B2|2012-12-31|2017-08-15|Sandisk Technologies Llc|Method and system for asynchronous die operations in a non-volatile memory| US9465731B2|2012-12-31|2016-10-11|Sandisk Technologies Llc|Multi-layer non-volatile memory system having multiple partitions in a layer| US8873284B2|2012-12-31|2014-10-28|Sandisk Technologies Inc.|Method and system for program scheduling in a multi-layer memory| US9003264B1|2012-12-31|2015-04-07|Sandisk Enterprise Ip Llc|Systems, methods, and devices for multi-dimensional flash RAID data protection| US9348746B2|2012-12-31|2016-05-24|Sandisk Technologies|Method and system for managing block reclaim operations in a multi-layer memory| US9223693B2|2012-12-31|2015-12-29|Sandisk Technologies Inc.|Memory system having an unequal number of memory die on different control channels| US9734050B2|2012-12-31|2017-08-15|Sandisk Technologies Llc|Method and system for managing background operations in a multi-layer memory| US9417685B2|2013-01-07|2016-08-16|Micron Technology, Inc.|Power management| US9123445B2|2013-01-22|2015-09-01|SMART Storage Systems, Inc.|Storage control system with data management mechanism and method of operation thereof| US10552085B1|2014-09-09|2020-02-04|Radian Memory Systems, Inc.|Techniques for directed data migration| US9542118B1|2014-09-09|2017-01-10|Radian Memory Systems, Inc.|Expositive flash memory control| US10642505B1|2013-01-28|2020-05-05|Radian Memory Systems, Inc.|Techniques for data migration based on per-data metrics and memory degradation| US9229854B1|2013-01-28|2016-01-05|Radian Memory Systems, LLC|Multi-array operation support and related devices, systems and software| US10445229B1|2013-01-28|2019-10-15|Radian Memory Systems, Inc.|Memory controller with at least one address segment defined for which data is striped across flash memory dies, with a common address offset being used to obtain physical addresses for the data in each of the dies| CN103970669A|2013-02-06|2014-08-06|Lsi公司|用于加速在固态设备中的回收操作的物理到逻辑地址映射| US20140223086A1|2013-02-06|2014-08-07|Curiositate, Inc.|Rapid reading from memory devices| US9552288B2|2013-02-08|2017-01-24|Seagate Technology Llc|Multi-tiered memory with different metadata levels| US9081666B2|2013-02-15|2015-07-14|Seagate Technology Llc|Non-volatile memory channel control using a general purpose programmable processor in combination with a low level programmable sequencer| US9292451B2|2013-02-19|2016-03-22|Qualcomm Incorporated|Methods and apparatus for intra-set wear-leveling for memories with limited write endurance| US9214965B2|2013-02-20|2015-12-15|Sandisk Enterprise Ip Llc|Method and system for improving data integrity in non-volatile storage| US9329928B2|2013-02-20|2016-05-03|Sandisk Enterprise IP LLC.|Bandwidth optimization in a non-volatile memory system| US9348743B2|2013-02-21|2016-05-24|Qualcomm Incorporated|Inter-set wear-leveling for caches with limited write endurance| US9286936B1|2013-02-21|2016-03-15|Seagate Technology Llc|Zone based band mapping| US9183137B2|2013-02-27|2015-11-10|SMART Storage Systems, Inc.|Storage control system with data management mechanism and method of operation thereof| US9813080B1|2013-03-05|2017-11-07|Microsemi Solutions , Inc.|Layer specific LDPC decoder| US10230396B1|2013-03-05|2019-03-12|Microsemi Solutions , Inc.|Method and apparatus for layer-specific LDPC decoding| WO2014138118A1|2013-03-07|2014-09-12|Peddle Charles I|High speed flash controllers| US9470720B2|2013-03-08|2016-10-18|Sandisk Technologies Llc|Test system with localized heating and method of manufacture thereof| US9423457B2|2013-03-14|2016-08-23|Bitmicro Networks, Inc.|Self-test solution for delay locked loops| US9069695B2|2013-03-14|2015-06-30|Apple Inc.|Correction of block errors for a system having non-volatile memory| US9870830B1|2013-03-14|2018-01-16|Sandisk Technologies Llc|Optimal multilevel sensing for reading data from a storage medium| US10489318B1|2013-03-15|2019-11-26|Bitmicro Networks, Inc.|Scatter-gather approach for parallel data transfer in a mass storage system| US9720603B1|2013-03-15|2017-08-01|Bitmicro Networks, Inc.|IOC to IOC distributed caching architecture| US9092310B2|2013-03-15|2015-07-28|Seagate Technology Llc|Host command based read disturb methodology| US10073626B2|2013-03-15|2018-09-11|Virident Systems, Llc|Managing the write performance of an asymmetric memory system| US9430386B2|2013-03-15|2016-08-30|Bitmicro Networks, Inc.|Multi-leveled cache management in a hybrid storage system| US9875205B1|2013-03-15|2018-01-23|Bitmicro Networks, Inc.|Network of memory systems| US9798688B1|2013-03-15|2017-10-24|Bitmicro Networks, Inc.|Bus arbitration with routing and failover mechanism| US9092350B1|2013-03-15|2015-07-28|Sandisk Enterprise Ip Llc|Detection and handling of unbalanced errors in interleaved codewords| US9009576B1|2013-03-15|2015-04-14|Sandisk Enterprise Ip Llc|Adaptive LLR based on syndrome weight| US9136877B1|2013-03-15|2015-09-15|Sandisk Enterprise Ip Llc|Syndrome layered decoding for LDPC codes| US9934045B1|2013-03-15|2018-04-03|Bitmicro Networks, Inc.|Embedded system boot from a storage device| US9135164B2|2013-03-15|2015-09-15|Virident Systems Inc.|Synchronous mirroring in non-volatile memory systems| US9244763B1|2013-03-15|2016-01-26|Sandisk Enterprise Ip Llc|System and method for updating a reading threshold voltage based on symbol transition information| US9501436B1|2013-03-15|2016-11-22|Bitmicro Networks, Inc.|Multi-level message passing descriptor| US9367246B2|2013-03-15|2016-06-14|Sandisk Technologies Inc.|Performance optimization of data transfer for soft information generation| US9734067B1|2013-03-15|2017-08-15|Bitmicro Networks, Inc.|Write buffering| US9858084B2|2013-03-15|2018-01-02|Bitmicro Networks, Inc.|Copying of power-on reset sequencer descriptor from nonvolatile memory to random access memory| US9971524B1|2013-03-15|2018-05-15|Bitmicro Networks, Inc.|Scatter-gather approach for parallel data transfer in a mass storage system| US9400617B2|2013-03-15|2016-07-26|Bitmicro Networks, Inc.|Hardware-assisted DMA transfer with dependency table configured to permit-in parallel-data drain from cache without processor intervention when filled or drained| US9236886B1|2013-03-15|2016-01-12|Sandisk Enterprise Ip Llc|Universal and reconfigurable QC-LDPC encoder| US9842024B1|2013-03-15|2017-12-12|Bitmicro Networks, Inc.|Flash electronic disk with RAID controller| US9916213B1|2013-03-15|2018-03-13|Bitmicro Networks, Inc.|Bus arbitration with routing and failover mechanism| US9021188B1|2013-03-15|2015-04-28|Virident Systems Inc.|Small block write operations in non-volatile memory systems| US9672178B1|2013-03-15|2017-06-06|Bitmicro Networks, Inc.|Bit-mapped DMA transfer with dependency table configured to monitor status so that a processor is not rendered as a bottleneck in a system| US9043780B2|2013-03-27|2015-05-26|SMART Storage Systems, Inc.|Electronic system with system modification control mechanism and method of operation thereof| US9170941B2|2013-04-05|2015-10-27|Sandisk Enterprises IP LLC|Data hardening in a storage system| US10049037B2|2013-04-05|2018-08-14|Sandisk Enterprise Ip Llc|Data management in a storage system| US9543025B2|2013-04-11|2017-01-10|Sandisk Technologies Llc|Storage control system with power-off time estimation mechanism and method of operation thereof| US10546648B2|2013-04-12|2020-01-28|Sandisk Technologies Llc|Storage control system with data management mechanism and method of operation thereof| US9558108B2|2013-04-15|2017-01-31|Macronix International Co., Ltd.|Half block management for flash storage devices| US10558561B2|2013-04-16|2020-02-11|Sandisk Technologies Llc|Systems and methods for storage metadata management| US10102144B2|2013-04-16|2018-10-16|Sandisk Technologies Llc|Systems, methods and interfaces for data virtualization| CN103226526A|2013-04-19|2013-07-31|无锡云动科技发展有限公司|一种存储器访问控制装置| CN104133774A|2013-05-02|2014-11-05|擎泰科技股份有限公司|管理非易失性存储器的方法及其非易失性存储装置| US20140328127A1|2013-05-02|2014-11-06|Skymedi Corporation|Method of Managing Non-Volatile Memory and Non-Volatile Storage Device Using the Same| US9632926B1|2013-05-16|2017-04-25|Western Digital Technologies, Inc.|Memory unit assignment and selection for internal memory operations in data storage systems| TWI548990B|2013-05-17|2016-09-11|宇瞻科技股份有限公司|記憶體儲存裝置及其還原方法與記憶體控制器| US9728526B2|2013-05-29|2017-08-08|Sandisk Technologies Llc|Packaging of high performance system topology for NAND memory systems| US9324389B2|2013-05-29|2016-04-26|Sandisk Technologies Inc.|High performance system topology for NAND memory systems| WO2014193592A2|2013-05-29|2014-12-04|Sandisk Technologies Inc.|High performance system topology for nand memory systems| US10019203B1|2013-05-30|2018-07-10|Cavium, Inc.|Method and system for processing write requests| US9159437B2|2013-06-11|2015-10-13|Sandisk Enterprise IP LLC.|Device and method for resolving an LM flag issue| US9313874B2|2013-06-19|2016-04-12|SMART Storage Systems, Inc.|Electronic system with heat extraction and method of manufacture thereof| US9898056B2|2013-06-19|2018-02-20|Sandisk Technologies Llc|Electronic assembly with thermal channel and method of manufacture thereof| US9244519B1|2013-06-25|2016-01-26|Smart Storage Systems. Inc.|Storage system with data transfer rate adjustment for power throttling| US9367353B1|2013-06-25|2016-06-14|Sandisk Technologies Inc.|Storage control system with power throttling mechanism and method of operation thereof| US9043517B1|2013-07-25|2015-05-26|Sandisk Enterprise Ip Llc|Multipass programming in buffers implemented in non-volatile data storage systems| US9280463B2|2013-07-25|2016-03-08|Globalfoundries Inc.|Semiconductor memory garbage collection| US9524235B1|2013-07-25|2016-12-20|Sandisk Technologies Llc|Local hash value generation in non-volatile data storage systems| US9384126B1|2013-07-25|2016-07-05|Sandisk Technologies Inc.|Methods and systems to avoid false negative results in bloom filters implemented in non-volatile data storage systems| US9141176B1|2013-07-29|2015-09-22|Western Digital Technologies, Inc.|Power management for data storage device| US9146850B2|2013-08-01|2015-09-29|SMART Storage Systems, Inc.|Data storage system with dynamic read threshold mechanism and method of operation thereof| US9448946B2|2013-08-07|2016-09-20|Sandisk Technologies Llc|Data storage system with stale data mechanism and method of operation thereof| US9431113B2|2013-08-07|2016-08-30|Sandisk Technologies Llc|Data storage system with dynamic erase block grouping mechanism and method of operation thereof| US9361222B2|2013-08-07|2016-06-07|SMART Storage Systems, Inc.|Electronic system with storage drive life estimation mechanism and method of operation thereof| US9880926B1|2013-08-20|2018-01-30|Seagate Technology Llc|Log structured reserved zone for a data storage device| US9361221B1|2013-08-26|2016-06-07|Sandisk Technologies Inc.|Write amplification reduction through reliable writes during garbage collection| US9639463B1|2013-08-26|2017-05-02|Sandisk Technologies Llc|Heuristic aware garbage collection scheme in storage systems| US9070379B2|2013-08-28|2015-06-30|Western Digital Technologies, Inc.|Data migration for data storage device| US9519577B2|2013-09-03|2016-12-13|Sandisk Technologies Llc|Method and system for migrating data between flash memory devices| US9442670B2|2013-09-03|2016-09-13|Sandisk Technologies Llc|Method and system for rebalancing data stored in flash memory devices| US9304709B2|2013-09-06|2016-04-05|Western Digital Technologies, Inc.|High performance system providing selective merging of dataframe segments in hardware| US20150074332A1|2013-09-10|2015-03-12|Kabushiki Kaisha Toshiba|Memory controller and memory system| US8966164B1|2013-09-27|2015-02-24|Avalanche Technology, Inc.|Storage processor managing NVME logically addressed solid state disk array| US9292379B2|2013-09-28|2016-03-22|Intel Corporation|Apparatus and method to manage high capacity storage devices| US9158349B2|2013-10-04|2015-10-13|Sandisk Enterprise Ip Llc|System and method for heat dissipation| US9323637B2|2013-10-07|2016-04-26|Sandisk Enterprise Ip Llc|Power sequencing and data hardening architecture| US9298608B2|2013-10-18|2016-03-29|Sandisk Enterprise Ip Llc|Biasing for wear leveling in storage systems| US9442662B2|2013-10-18|2016-09-13|Sandisk Technologies Llc|Device and method for managing die groups| US8917471B1|2013-10-29|2014-12-23|Western Digital Technologies, Inc.|Power management for data storage device| US9436831B2|2013-10-30|2016-09-06|Sandisk Technologies Llc|Secure erase in a memory device| US9263156B2|2013-11-07|2016-02-16|Sandisk Enterprise Ip Llc|System and method for adjusting trip points within a storage device| US9244785B2|2013-11-13|2016-01-26|Sandisk Enterprise Ip Llc|Simulated power failure and data hardening| KR20150055879A|2013-11-14|2015-05-22|삼성전자주식회사|불휘발성 메모리 시스템 및 그것의 동작 방법| US9152555B2|2013-11-15|2015-10-06|Sandisk Enterprise IP LLC.|Data management with modular erase in a data storage system| US9286959B2|2013-11-18|2016-03-15|International Business Machines Corporation|Low latency memory access control for non-volatile memories| US9703816B2|2013-11-19|2017-07-11|Sandisk Technologies Llc|Method and system for forward reference logging in a persistent datastore| KR102114112B1|2013-11-19|2020-05-22|에스케이하이닉스 주식회사|데이터 저장 장치| US9520197B2|2013-11-22|2016-12-13|Sandisk Technologies Llc|Adaptive erase of a storage device| US9122636B2|2013-11-27|2015-09-01|Sandisk Enterprise Ip Llc|Hard power fail architecture| US9280429B2|2013-11-27|2016-03-08|Sandisk Enterprise Ip Llc|Power fail latching based on monitoring multiple power supply voltages in a storage device| KR20150061393A|2013-11-27|2015-06-04|삼성전자주식회사|메모리 장치로부터 읽은 데이터를 고속으로 전송하는 메모리 컨트롤러 및 그것의 데이터 전송 방법.| US9520162B2|2013-11-27|2016-12-13|Sandisk Technologies Llc|DIMM device controller supervisor| US9582058B2|2013-11-29|2017-02-28|Sandisk Technologies Llc|Power inrush management of storage devices| US9250676B2|2013-11-29|2016-02-02|Sandisk Enterprise Ip Llc|Power failure architecture and verification| GB201321148D0|2013-11-29|2014-01-15|Bridgeworks Ltd|Data transfer| US9092370B2|2013-12-03|2015-07-28|Sandisk Enterprise Ip Llc|Power failure tolerant cryptographic erase| US9235245B2|2013-12-04|2016-01-12|Sandisk Enterprise Ip Llc|Startup performance and power isolation| WO2015095242A1|2013-12-16|2015-06-25|Moneydesktop, Inc.|Long string pattern matching of aggregated account data| US9129665B2|2013-12-17|2015-09-08|Sandisk Enterprise Ip Llc|Dynamic brownout adjustment in a storage device| US9703702B2|2013-12-23|2017-07-11|Sandisk Technologies Llc|Addressing auto address assignment and auto-routing in NAND memory network| US9772940B2|2013-12-26|2017-09-26|Samsung Electronics Co., Ltd.|Storage device comprising volatile and nonvolatile memory devices, and related methods of operation| US9632880B2|2013-12-26|2017-04-25|Silicon Motion, Inc.|Data storage device and flash memory control method| US20150186257A1|2013-12-26|2015-07-02|Anand S. Ramalingam|Managing a transfer buffer for a non-volatile memory| TWI467578B|2014-01-09|2015-01-01|Phison Electronics Corp|錯誤處理方法、記憶體儲存裝置與記憶體控制電路單元| US20150205541A1|2014-01-20|2015-07-23|Samya Systems, Inc.|High-capacity solid state disk drives| WO2015116141A1|2014-01-31|2015-08-06|Hewlett-Packard Development Company, L.P.|Identifying memory regions that contain remapped memory locations| US10521387B2|2014-02-07|2019-12-31|Toshiba Memory Corporation|NAND switch| US9549457B2|2014-02-12|2017-01-17|Sandisk Technologies Llc|System and method for redirecting airflow across an electronic assembly| US9542344B2|2014-02-19|2017-01-10|Sandisk Technologies Llc|Datapath management in a memory controller| US9497889B2|2014-02-27|2016-11-15|Sandisk Technologies Llc|Heat dissipation for substrate assemblies| US9703636B2|2014-03-01|2017-07-11|Sandisk Technologies Llc|Firmware reversion trigger and control| KR20150106778A|2014-03-12|2015-09-22|삼성전자주식회사|메모리 시스템 및 메모리 시스템의 제어 방법| US20150261631A1|2014-03-12|2015-09-17|Kabushiki Kaisha Toshiba|Memory system and memory controller| US9519319B2|2014-03-14|2016-12-13|Sandisk Technologies Llc|Self-supporting thermal tube structure for electronic assemblies| KR20150107401A|2014-03-14|2015-09-23|삼성전자주식회사|저장 장치 및 그것의 테이블 관리 방법| US9485851B2|2014-03-14|2016-11-01|Sandisk Technologies Llc|Thermal tube assembly structures| KR20150107399A|2014-03-14|2015-09-23|삼성전자주식회사|저장 장치 및 그것의 타이머 설정 방법 및 구동 방법들| US9348377B2|2014-03-14|2016-05-24|Sandisk Enterprise Ip Llc|Thermal isolation techniques| US9230689B2|2014-03-17|2016-01-05|Sandisk Technologies Inc.|Finding read disturbs on non-volatile memories| US9454448B2|2014-03-19|2016-09-27|Sandisk Technologies Llc|Fault testing in storage devices| US9448876B2|2014-03-19|2016-09-20|Sandisk Technologies Llc|Fault detection and prediction in storage devices| US9390814B2|2014-03-19|2016-07-12|Sandisk Technologies Llc|Fault detection and prediction for data storage elements| US9626400B2|2014-03-31|2017-04-18|Sandisk Technologies Llc|Compaction of information in tiered data structure| US9626399B2|2014-03-31|2017-04-18|Sandisk Technologies Llc|Conditional updates for reducing frequency of data modification operations| US9390021B2|2014-03-31|2016-07-12|Sandisk Technologies Llc|Efficient cache utilization in a tiered data structure| JP2015197859A|2014-04-02|2015-11-09|株式会社東芝|メモリコントローラ、半導体記憶装置、およびメモリコントローラの制御方法| US9697267B2|2014-04-03|2017-07-04|Sandisk Technologies Llc|Methods and systems for performing efficient snapshots in tiered data structures| US9952991B1|2014-04-17|2018-04-24|Bitmicro Networks, Inc.|Systematic method on queuing of descriptors for multiple flash intelligent DMA engine operation| US10055150B1|2014-04-17|2018-08-21|Bitmicro Networks, Inc.|Writing volatile scattered memory metadata to flash device| US10078604B1|2014-04-17|2018-09-18|Bitmicro Networks, Inc.|Interrupt coalescing| US10042792B1|2014-04-17|2018-08-07|Bitmicro Networks, Inc.|Method for transferring and receiving frames across PCI express bus for SSD device| US9811461B1|2014-04-17|2017-11-07|Bitmicro Networks, Inc.|Data storage system| US10025736B1|2014-04-17|2018-07-17|Bitmicro Networks, Inc.|Exchange message protocol message transmission between two devices| US9911477B1|2014-04-18|2018-03-06|Altera Corporation|Memory controller architecture with improved memory scheduling efficiency| KR102149768B1|2014-04-29|2020-08-31|삼성전자주식회사|불휘발성 메모리 시스템| US9323607B2|2014-04-29|2016-04-26|Seagate Technology Llc|Data recovery once ECC fails to correct the data| US9214198B2|2014-04-30|2015-12-15|Sandisk Enterprise Ip Llc|Continuous capacitor health monitoring and power supply system| KR20150127914A|2014-05-07|2015-11-18|에스케이하이닉스 주식회사|복수의 프로세서들을 포함하는 반도체 장치 및 그것의 동작 방법| US9465537B2|2014-05-16|2016-10-11|Kabushiki Kaisha Toshiba|Memory system and method of controlling memory system| US9286056B2|2014-05-19|2016-03-15|International Business Machines Corporation|Reducing storage facility code load suspend rate by redundancy check| US9710173B2|2014-05-20|2017-07-18|Micron Technology, Inc.|Read cache memory with DRAM class promotion| US9645749B2|2014-05-30|2017-05-09|Sandisk Technologies Llc|Method and system for recharacterizing the storage density of a memory device or a portion thereof| US9070481B1|2014-05-30|2015-06-30|Sandisk Technologies Inc.|Internal current measurement for age measurements| US10146448B2|2014-05-30|2018-12-04|Sandisk Technologies Llc|Using history of I/O sequences to trigger cached read ahead in a non-volatile storage device| US8891303B1|2014-05-30|2014-11-18|Sandisk Technologies Inc.|Method and system for dynamic word line based configuration of a three-dimensional memory device| US10656840B2|2014-05-30|2020-05-19|Sandisk Technologies Llc|Real-time I/O pattern recognition to enhance performance and endurance of a storage device| US10656842B2|2014-05-30|2020-05-19|Sandisk Technologies Llc|Using history of I/O sizes and I/O sequences to trigger coalesced writes in a non-volatile storage device| US9093160B1|2014-05-30|2015-07-28|Sandisk Technologies Inc.|Methods and systems for staggered memory operations| US10372613B2|2014-05-30|2019-08-06|Sandisk Technologies Llc|Using sub-region I/O history to cache repeatedly accessed sub-regions in a non-volatile storage device| US9703491B2|2014-05-30|2017-07-11|Sandisk Technologies Llc|Using history of unaligned writes to cache data and avoid read-modify-writes in a non-volatile storage device| US10162748B2|2014-05-30|2018-12-25|Sandisk Technologies Llc|Prioritizing garbage collection and block allocation based on I/O history for logical address regions| US10114557B2|2014-05-30|2018-10-30|Sandisk Technologies Llc|Identification of hot regions to enhance performance and endurance of a non-volatile storage device| CN105224546B|2014-06-04|2020-10-30|创新先进技术有限公司|Data storage and query method and equipment| WO2015194005A1|2014-06-19|2015-12-23|株式会社日立製作所|ストレージ装置およびインタフェース装置| US9652381B2|2014-06-19|2017-05-16|Sandisk Technologies Llc|Sub-block garbage collection| KR20160000056A|2014-06-23|2016-01-04|삼성전자주식회사|불휘발성 메모리 장치 및 메모리 컨트롤러의 동작 방법| US9823863B1|2014-06-30|2017-11-21|Sk Hynix Memory Solutions Inc.|Sub-blocks and meta pages for mapping table rebuild| US9348518B2|2014-07-02|2016-05-24|International Business Machines Corporation|Buffered automated flash controller connected directly to processor memory bus| KR20160005264A|2014-07-04|2016-01-14|삼성전자주식회사|저장 장치 및 그것의 읽기 방법들| US9652415B2|2014-07-09|2017-05-16|Sandisk Technologies Llc|Atomic non-volatile memory data transfer| US9904621B2|2014-07-15|2018-02-27|Sandisk Technologies Llc|Methods and systems for flash buffer sizing| US9846661B2|2014-07-17|2017-12-19|Empire Technology Development Llc|Utilization of solid state memory devices| US9645744B2|2014-07-22|2017-05-09|Sandisk Technologies Llc|Suspending and resuming non-volatile memory operations| US9542284B2|2014-08-06|2017-01-10|International Business Machines Corporation|Buffered automated flash controller connected directly to processor memory bus| US10002044B2|2014-08-19|2018-06-19|Samsung Electronics Co., Ltd.|Memory devices and modules| US10002043B2|2014-08-19|2018-06-19|Samsung Electronics Co., Ltd.|Memory devices and modules| KR20160022007A|2014-08-19|2016-02-29|삼성전자주식회사|컴퓨터 장치 및 저장 장치| US9378149B1|2014-08-29|2016-06-28|Emc Corporation|Method and system for tracking modification times of data in a storage system| US10474618B2|2014-09-04|2019-11-12|Western Digital Technologies, Inc.|Debug data saving in host memory on PCIE solid state drive| US9443601B2|2014-09-08|2016-09-13|Sandisk Technologies Llc|Holdup capacitor energy harvesting| US9436397B2|2014-09-23|2016-09-06|Sandisk Technologies Llc.|Validating the status of memory operations| US9772783B2|2014-09-25|2017-09-26|Dropbox, Inc.|Constructing an index to facilitate accessing a closed extent in an append-only storage system| US9690823B2|2014-09-25|2017-06-27|Dropbox, Inc.|Synchronizing copies of an extent in an append-only storage system| US9720607B2|2014-09-25|2017-08-01|Dropbox, Inc.|Append-only storage system supporting open and closed extents| US9582201B2|2014-09-26|2017-02-28|Western Digital Technologies, Inc.|Multi-tier scheme for logical storage management| US9658923B2|2014-09-30|2017-05-23|International Business Machines Corporation|Optimization of rebuilding in solid state drives| US9626286B2|2014-10-03|2017-04-18|Sandisk Technologies Llc|Hardware and firmware paths for performing memory read processes| US9665451B2|2014-10-07|2017-05-30|Sandisk Technologies Llc|Method and device for distributing holdup energy to memory arrays| US9672094B1|2014-10-24|2017-06-06|Xilinx, Inc.|Interconnect circuitry fault detection| US9753649B2|2014-10-27|2017-09-05|Sandisk Technologies Llc|Tracking intermix of writes and un-map commands across power cycles| US9558125B2|2014-10-27|2017-01-31|Sandisk Technologies Llc|Processing of un-map commands to enhance performance and endurance of a storage device| US9952978B2|2014-10-27|2018-04-24|Sandisk Technologies, Llc|Method for improving mixed random performance in low queue depth workloads| KR20160050138A|2014-10-28|2016-05-11|삼성전자주식회사|복수의 불휘발성 메모리 칩들을 포함하는 스토리지 장치| KR20160051367A|2014-11-03|2016-05-11|에스케이하이닉스 주식회사|메모리 시스템 및 이의 동작 방법| US9684606B2|2014-11-14|2017-06-20|Cavium, Inc.|Translation lookaside buffer invalidation suppression| KR20160060527A|2014-11-20|2016-05-30|삼성전자주식회사|Pci 장치와 이를 포함하는 pci 시스템| US9824007B2|2014-11-21|2017-11-21|Sandisk Technologies Llc|Data integrity enhancement to protect against returning old versions of data| US9817752B2|2014-11-21|2017-11-14|Sandisk Technologies Llc|Data integrity enhancement to protect against returning old versions of data| US9678864B2|2014-12-03|2017-06-13|Seagate Technology Llc|Data reallocation upon detection of errors| US9697074B2|2014-12-11|2017-07-04|Internatioanl Business Machines Corporation|Non-local error detection in processor systems| US10503431B2|2014-12-22|2019-12-10|Sandisk Technologies Llc|Trade-off adjustments of memory parameters based on memory wear or data retention| US10474569B2|2014-12-29|2019-11-12|Toshiba Memory Corporation|Information processing device including nonvolatile cache memory and processor| US9772939B2|2015-01-05|2017-09-26|International Business Machines Corporation|Heat-based key-value slot organization for flash-optimized data placement in multi-tiered storage systems| US10061743B2|2015-01-27|2018-08-28|International Business Machines Corporation|Host based non-volatile memory clustering using network mapped storage| US9946607B2|2015-03-04|2018-04-17|Sandisk Technologies Llc|Systems and methods for storage error management| CN107209718A|2015-03-11|2017-09-26|拉姆伯斯公司|高性能非易失性存储器模块| US9965323B2|2015-03-11|2018-05-08|Western Digital Technologies, Inc.|Task queues| US9647697B2|2015-03-16|2017-05-09|Sandisk Technologies Llc|Method and system for determining soft information offsets| US10007451B2|2015-03-20|2018-06-26|SK Hynix Inc.|Scalable SPOR algorithm for flash memories| US9703631B2|2015-03-20|2017-07-11|Burlywood, LLC|Storage emulation in a storage controller| US10180805B2|2015-03-25|2019-01-15|SK Hynix Inc.|Memory system and operating method thereof| US9946644B2|2015-03-25|2018-04-17|SK Hynix Inc.|Memory system and operating method thereof| WO2016154078A1|2015-03-26|2016-09-29|Burlywood, LLC|A medium defect management method for storage systems requiring an integrated controller| US10102146B2|2015-03-26|2018-10-16|SK Hynix Inc.|Memory system and operating method for improving rebuild efficiency| US9811420B2|2015-03-27|2017-11-07|Intel Corporation|Extracting selective information from on-die dynamic random access memoryerror correction code | US9496018B2|2015-04-01|2016-11-15|International Business Machines Corporation|Nonvolatile memory interface for metadata shadowing| US9652175B2|2015-04-09|2017-05-16|Sandisk Technologies Llc|Locally generating and storing RAID stripe parity with single relative memory address for storing data segments and parity in multiple non-volatile memory portions| CN106155926B|2015-04-09|2019-11-26|澜起科技股份有限公司|存储器及存储器的数据交互方法| US9864545B2|2015-04-14|2018-01-09|Sandisk Technologies Llc|Open erase block read automation| US9753653B2|2015-04-14|2017-09-05|Sandisk Technologies Llc|High-priority NAND operations management| US10338827B2|2015-04-17|2019-07-02|Johann George|Digitally lending content without reproduction| US10372529B2|2015-04-20|2019-08-06|Sandisk Technologies Llc|Iterative soft information correction and decoding| US9778878B2|2015-04-22|2017-10-03|Sandisk Technologies Llc|Method and system for limiting write command execution| KR20160129965A|2015-04-30|2016-11-10|삼성전자주식회사|저장 장치 및 그것의 초기화 방법| US10332613B1|2015-05-18|2019-06-25|Microsemi Solutions , Inc.|Nonvolatile memory system with retention monitor| US9875053B2|2015-06-05|2018-01-23|Western Digital Technologies, Inc.|Scheduling scheme for a multi-die storage device| US10289327B2|2015-06-05|2019-05-14|Western Digital Technologies, Inc.|Scheduling scheme for a multi-die storage device| TWI563509B|2015-07-07|2016-12-21|Phison Electronics Corp|Wear leveling method, memory storage device and memory control circuit unit| US10078448B2|2015-07-08|2018-09-18|Samsung Electronics Co., Ltd.|Electronic devices and memory management methods thereof| US9870149B2|2015-07-08|2018-01-16|Sandisk Technologies Llc|Scheduling operations in non-volatile memory devices using preference values| US9916091B2|2015-07-13|2018-03-13|Samsung Electronics Co., Ltd.|Memory system architecture| US10552058B1|2015-07-17|2020-02-04|Radian Memory Systems, Inc.|Techniques for delegating data processing to a cooperative memory controller| US9799405B1|2015-07-29|2017-10-24|Ip Gem Group, Llc|Nonvolatile memory system with read circuit for performing reads using threshold voltage shift read instruction| US9715939B2|2015-08-10|2017-07-25|Sandisk Technologies Llc|Low read data storage management| US10665305B2|2015-09-09|2020-05-26|Toshiba Memory Corporation|Host device connectable to memory device performing patrol read and memory device performing patrol read| CN105183387A|2015-09-14|2015-12-23|联想有限公司|一种控制方法及控制器、存储设备| US9703501B2|2015-09-30|2017-07-11|International Business Machines Corporation|Virtual storage instrumentation for real time analytics| CN106569727B|2015-10-08|2019-04-16|福州瑞芯微电子股份有限公司|一种多控制器间多存储器共享并行数据读写装置及其写入、读取方法| DE102015219844A1|2015-10-13|2017-04-13|Robert Bosch Gmbh|Verfahren und Vorrichtung zum verzögerungsfreien Betreiben eines Steuergerätes| US10303536B2|2015-10-28|2019-05-28|Via Technologies, Inc.|Non-volatile memory device and control method thereof| US10452596B2|2015-10-29|2019-10-22|Micron Technology, Inc.|Memory cells configured in multiple configuration modes| US10042553B2|2015-10-30|2018-08-07|Sandisk Technologies Llc|Method and system for programming a multi-layer non-volatile memory having a single fold data path| US10120613B2|2015-10-30|2018-11-06|Sandisk Technologies Llc|System and method for rescheduling host and maintenance operations in a non-volatile memory| US9778855B2|2015-10-30|2017-10-03|Sandisk Technologies Llc|System and method for precision interleaving of data writes in a non-volatile memory| US10133490B2|2015-10-30|2018-11-20|Sandisk Technologies Llc|System and method for managing extended maintenance scheduling in a non-volatile memory| US9996262B1|2015-11-09|2018-06-12|Seagate Technology Llc|Method and apparatus to abort a command| US10228990B2|2015-11-12|2019-03-12|Sandisk Technologies Llc|Variable-term error metrics adjustment| TWI578222B|2015-11-18|2017-04-11|慧榮科技股份有限公司|資料儲存裝置及其資料維護方法| KR20170058699A|2015-11-19|2017-05-29|삼성전자주식회사|불휘발성 메모리 모듈 및 이를 포함하는 전자 장치| CN108701488A|2015-12-01|2018-10-23|科内克斯实验室公司|用于在逻辑上去除非易失性存储器存储设备中的缺陷页的方法和装置| US9898215B2|2015-12-07|2018-02-20|International Business Machines Corporation|Efficient management of page retirement in non-volatile memory utilizing page retirement classes| US9886214B2|2015-12-11|2018-02-06|Ip Gem Group, Llc|Nonvolatile memory system with erase suspend circuit and method for erase suspend management| US10126970B2|2015-12-11|2018-11-13|Sandisk Technologies Llc|Paired metablocks in non-volatile storage device| JP6414853B2|2015-12-14|2018-10-31|東芝メモリ株式会社|メモリシステムおよび制御方法| US9892794B2|2016-01-04|2018-02-13|Ip Gem Group, Llc|Method and apparatus with program suspend using test mode| US9837146B2|2016-01-08|2017-12-05|Sandisk Technologies Llc|Memory system temperature management| US10169144B2|2016-01-15|2019-01-01|Micron Technology, Inc.|Non-volatile memory including selective error correction| US9899092B2|2016-01-27|2018-02-20|Ip Gem Group, Llc|Nonvolatile memory system with program step manager and method for program step management| US10255955B2|2016-02-09|2019-04-09|Samsung Electronics Co., Ltd.|Multi-port memory device and a method of using the same| CN107102814B|2016-02-19|2020-03-17|群联电子股份有限公司|存储器管理方法、存储器控制电路单元与存储器存储装置| KR20170099018A|2016-02-22|2017-08-31|에스케이하이닉스 주식회사|메모리 시스템 및 그의 동작방법| US10732856B2|2016-03-03|2020-08-04|Sandisk Technologies Llc|Erase health metric to rank memory portions| KR20170108334A|2016-03-17|2017-09-27|에스케이하이닉스 주식회사|메모리 시스템 및 그 동작 방법| CN107273041A|2016-04-07|2017-10-20|株式会社东芝|存储装置以及该装置中的数据保存方法| KR20170120738A|2016-04-21|2017-11-01|삼성전자주식회사|불휘발성 메모리 장치 및 컨트롤러를 포함하는 스토리지 장치를 액세스하는 액세스 방법| US9898208B2|2016-04-27|2018-02-20|Datadirect Networks, Inc.|Storage system with hybrid logical volumes utilizing in-band hinting| US10402314B2|2016-05-16|2019-09-03|SK Hynix Inc.|Self-management memory system and operating method thereof| FR3051574A1|2016-05-20|2017-11-24|Proton World Int Nv|Gestion du stockage dans une memoire flash| CN106020735A|2016-05-31|2016-10-12|晨星半导体股份有限公司|一种数据存储方法及数据存储装置| DE102016211386A1|2016-06-14|2017-12-14|Robert Bosch Gmbh|Verfahren zum Betreiben einer Recheneinheit| US10496289B2|2016-06-16|2019-12-03|Nuvoton Technology Corporation|System and methods for increasing useful lifetime of a flash memory device| US9934151B2|2016-06-28|2018-04-03|Dell Products, Lp|System and method for dynamic optimization for burst and sustained performance in solid state drives| US10037164B1|2016-06-29|2018-07-31|EMC IP Holding Company LLC|Flash interface for processing datasets| US10146438B1|2016-06-29|2018-12-04|EMC IP Holding Company LLC|Additive library for data structures in a flash memory| US10055351B1|2016-06-29|2018-08-21|EMC IP Holding Company LLC|Low-overhead index for a flash cache| US10261704B1|2016-06-29|2019-04-16|EMC IP Holding Company LLC|Linked lists in flash memory| US10331561B1|2016-06-29|2019-06-25|Emc Corporation|Systems and methods for rebuilding a cache index| US10089025B1|2016-06-29|2018-10-02|EMC IP Holding Company LLC|Bloom filters in a flash memory| KR20180009430A|2016-07-18|2018-01-29|에스케이하이닉스 주식회사|메모리 시스템 및 그의 동작방법| US10481830B2|2016-07-25|2019-11-19|Sandisk Technologies Llc|Selectively throttling host reads for read disturbs in non-volatile memory system| US10283215B2|2016-07-28|2019-05-07|Ip Gem Group, Llc|Nonvolatile memory system with background reference positioning and local reference positioning| US10291263B2|2016-07-28|2019-05-14|Ip Gem Group, Llc|Auto-learning log likelihood ratio| US10236915B2|2016-07-29|2019-03-19|Microsemi Solutions , Inc.|Variable T BCH encoding| US10496484B2|2016-08-05|2019-12-03|Sandisk Technologies Llc|Methods and apparatus for error detection for data storage devices| KR20180019418A|2016-08-16|2018-02-26|삼성전자주식회사|메모리 장치의 내부 상태 출력 장치 및 이를 적용하는 메모리 시스템| KR20180023311A|2016-08-25|2018-03-07|에스케이하이닉스 주식회사|데이터 저장 장치| KR20180026993A|2016-09-05|2018-03-14|삼성전자주식회사|비휘발성 메모리 장치 및 비휘발성 메모리 장치의 온도 조절 방법| FR3055992A1|2016-09-09|2018-03-16|Proton World International N.V.|Gestion d'index dans une memoire flash| US10169152B2|2016-09-12|2019-01-01|International Business Machines Corporation|Resilient data storage and retrieval| US10162522B1|2016-09-30|2018-12-25|Cadence Design Systems, Inc.|Architecture of single channel memory controller to support high bandwidth memory of pseudo channel mode or legacy mode| KR20180055296A|2016-11-16|2018-05-25|삼성전자주식회사|컴퓨터 시스템, 및 컴퓨터 시스템의 동작 방법| KR20180058894A|2016-11-24|2018-06-04|에스케이하이닉스 주식회사|데이터 저장 장치 및 그것의 동작 방법| KR20180064588A|2016-12-05|2018-06-15|에스케이하이닉스 주식회사|메모리 제어 장치 및 방법| US10235069B2|2016-12-22|2019-03-19|Western Digital Technologies, Inc.|Load balancing by dynamically transferring memory range assignments| US10380028B2|2016-12-30|2019-08-13|Western Digital Technologies, Inc.|Recovery of validity data for a data storage system| US10572181B2|2017-02-01|2020-02-25|Microsoft Technology Licensing, Llc|Multiple stage garbage collector| US10628306B2|2017-02-01|2020-04-21|Microsoft Technology Licensing, Llc|Garbage collector| TWI653533B|2017-03-07|2019-03-11|慧榮科技股份有限公司|資料儲存裝置以及其操作方法| US10078453B1|2017-03-15|2018-09-18|Intel Corporation|Storage system, computer program product, and method for managing a hybrid memory device system| US10613772B2|2017-03-16|2020-04-07|Qualcomm Incorporated|Methods and apparatuses for copying a data page in an unmanaged flash memory device| US10552050B1|2017-04-07|2020-02-04|Bitmicro Llc|Multi-dimensional computer storage system| TWI628542B|2017-04-21|2018-07-01|慧榮科技股份有限公司|快閃記憶體的垃圾回收斷電回復方法以及使用該方法的裝置| US10360045B2|2017-04-25|2019-07-23|Sandisk Technologies Llc|Event-driven schemes for determining suspend/resume periods| US10558567B1|2017-05-12|2020-02-11|Levyx, Inc.|Storage device embedded strand architecture| US20180335972A1|2017-05-18|2018-11-22|Kaminario Technologies Ltd.|Garbage collection in a distributed storage system| CN107229535B|2017-05-23|2020-01-21|杭州宏杉科技股份有限公司|数据块的多副本存储方法、存储设备、数据读取方法| US10372353B2|2017-05-31|2019-08-06|Micron Technology, Inc.|Apparatuses and methods to control memory operations on buffers| US10146460B1|2017-06-01|2018-12-04|Apple Inc.|Programming schemes for avoidance or recovery from cross-temperature read failures| US10521375B2|2017-06-22|2019-12-31|Macronix International Co., Ltd.|Controller for a memory system| US10564890B2|2017-07-07|2020-02-18|Seagate Technology Llc|Runt handling data storage system| KR20190006687A|2017-07-11|2019-01-21|에스케이하이닉스 주식회사|데이터 저장 장치 및 그것의 동작 방법| TWI621018B|2017-07-24|2018-04-11|大陸商深圳大心電子科技有限公司|資料備份方法、資料恢復方法以及儲存控制器| US10393803B2|2017-08-31|2019-08-27|Micron Technology, Inc.|Memory loopback systems and methods| KR20190027677A|2017-09-07|2019-03-15|삼성전자주식회사|저장 장치 및 저장 장치에 포함된 컨트롤러들| KR20190049231A|2017-11-01|2019-05-09|삼성전자주식회사|데이터 스토리지 장치 및 그 동작 방법| CN108021516A|2017-12-19|2018-05-11|联芸科技(杭州)有限公司|一种并行存储介质存储控制器的命令调度管理系统与方法| US10606692B2|2017-12-20|2020-03-31|International Business Machines Corporation|Error correction potency improvement via added burst beats in a dram access cycle| WO2019126793A2|2017-12-22|2019-06-27|Alibaba Group Holding Limited|A memory apparatus and method for controlling the same| CN108182154A|2017-12-22|2018-06-19|深圳大普微电子科技有限公司|一种基于固态硬盘的日志文件的读写方法及固态硬盘| US10558576B2|2018-01-22|2020-02-11|Western Digital Technologies, Inc.|Storage device with rapid overlay access| CN108549584A|2018-01-25|2018-09-18|北京奇艺世纪科技有限公司|一种服务端灰度降级方法和装置| US10475519B2|2018-03-23|2019-11-12|Micron Technology, Inc.|Methods for detecting and mitigating memory media degradation and memory devices employing the same| US20190294344A1|2018-03-26|2019-09-26|Western Digital Technologies, Inc.|Non-volatile storage system with multi-read mode| US10740026B2|2018-05-18|2020-08-11|Micron Technology, Inc.|Time indicator of super block operations| US10534551B1|2018-06-22|2020-01-14|Micron Technology, Inc.|Managing write operations during a power loss| CN108919995A|2018-06-27|2018-11-30|珠海市魅族科技有限公司|驱动控制方法、系统和电子设备| WO2020028790A1|2018-08-02|2020-02-06|Burlywood, Inc.|Dynamic data paths in flash drives| US10725931B2|2018-08-22|2020-07-28|Western Digital Technologies, Inc.|Logical and physical address field size reduction by alignment-constrained writing technique| US10762977B1|2019-07-22|2020-09-01|Winbond Electronics Corp.|Memory storage device and memory testing method thereof|
法律状态:
2010-12-01| A621| Written request for application examination|Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20101130 | 2011-12-01| A711| Notification of change in applicant|Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20111130 | 2011-12-17| A521| Written amendment|Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20111130 | 2012-05-24| A977| Report on retrieval|Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20120524 | 2012-07-25| A131| Notification of reasons for refusal|Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120724 | 2012-10-25| A601| Written request for extension of time|Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20121024 | 2012-11-01| A602| Written permission of extension of time|Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20121031 | 2012-11-27| A601| Written request for extension of time|Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20121126 | 2012-12-04| A602| Written permission of extension of time|Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20121203 | 2012-12-26| A601| Written request for extension of time|Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20121225 | 2013-01-08| A602| Written permission of extension of time|Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20130107 | 2013-01-24| A521| Written amendment|Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130123 | 2013-04-18| TRDD| Decision of grant or rejection written| 2013-04-24| A01| Written decision to grant a patent or to grant a registration (utility model)|Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20130423 | 2013-05-16| A61| First payment of annual fees (during grant procedure)|Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130513 | 2013-05-17| R150| Certificate of patent or registration of utility model|Ref document number: 5272019 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 | 2016-05-10| R250| Receipt of annual fees|Free format text: JAPANESE INTERMEDIATE CODE: R250 | 2016-05-18| S531| Written request for registration of change of domicile|Free format text: JAPANESE INTERMEDIATE CODE: R313531 | 2016-05-18| S111| Request for change of ownership or part of ownership|Free format text: JAPANESE INTERMEDIATE CODE: R313113 | 2016-05-26| R350| Written notification of registration of transfer|Free format text: JAPANESE INTERMEDIATE CODE: R350 | 2016-07-28| S533| Written request for registration of change of name|Free format text: JAPANESE INTERMEDIATE CODE: R313533 | 2016-08-05| R350| Written notification of registration of transfer|Free format text: JAPANESE INTERMEDIATE CODE: R350 | 2017-05-09| R250| Receipt of annual fees|Free format text: JAPANESE INTERMEDIATE CODE: R250 | 2018-05-08| R250| Receipt of annual fees|Free format text: JAPANESE INTERMEDIATE CODE: R250 | 2019-05-14| R250| Receipt of annual fees|Free format text: JAPANESE INTERMEDIATE CODE: R250 | 2020-04-30| R250| Receipt of annual fees|Free format text: JAPANESE INTERMEDIATE CODE: R250 | 2021-04-30| R250| Receipt of annual fees|Free format text: JAPANESE INTERMEDIATE CODE: R250 |
优先权:
[返回顶部]
申请号 | 申请日 | 专利标题 相关专利
Sulfonates, polymers, resist compositions and patterning process
Washing machine
Washing machine
Device for fixture finishing and tension adjusting of membrane
Structure for Equipping Band in a Plane Cathode Ray Tube
Process for preparation of 7 alpha-carboxyl 9, 11-epoxy steroids and intermediates useful therein an
国家/地区
|